aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2022-07-29 13:10:11 +0200
committerGitHub <noreply@github.com>2022-07-29 13:10:11 +0200
commitce72f77b455afa6a7de26b74de4ca539aeffecd6 (patch)
treead8c83890bca9aed2ba40d75162f0900a5507ee2
parent6c824e20abcd41ff02f3f6f296e6170cd77b8ee5 (diff)
parent25af2b86c5c317c3a42c6d59ef42e29e4bc064d6 (diff)
Merge pull request #125 from nico-bb/master
Fix ternary when expression + added the test to snapshot
-rw-r--r--src/odin/printer/visit.odin4
-rw-r--r--tools/odinfmt/tests/.snapshots/assignments.odin5
-rw-r--r--tools/odinfmt/tests/assignments.odin5
3 files changed, 12 insertions, 2 deletions
diff --git a/src/odin/printer/visit.odin b/src/odin/printer/visit.odin
index 04d1ada..a76ab47 100644
--- a/src/odin/printer/visit.odin
+++ b/src/odin/printer/visit.odin
@@ -1045,9 +1045,9 @@ visit_expr :: proc(p: ^Printer, expr: ^ast.Expr, called_from: Expr_Called_Type =
document = cons_with_opl(document, group(visit_expr(p, v.y)))
}
case ^Ternary_When_Expr:
- document = visit_expr(p, v.cond)
+ document = visit_expr(p, v.x)
document = cons_with_nopl(document, text_token(p, v.op1))
- document = cons_with_nopl(document, visit_expr(p, v.x))
+ document = cons_with_nopl(document, visit_expr(p, v.cond))
document = cons_with_nopl(document, text_token(p, v.op2))
document = cons_with_nopl(document, visit_expr(p, v.y))
case ^Or_Else_Expr:
diff --git a/tools/odinfmt/tests/.snapshots/assignments.odin b/tools/odinfmt/tests/.snapshots/assignments.odin
index 7b09796..983087e 100644
--- a/tools/odinfmt/tests/.snapshots/assignments.odin
+++ b/tools/odinfmt/tests/.snapshots/assignments.odin
@@ -11,3 +11,8 @@ assignments :: proc() {
&big.Int{}
}
+
+ternary_when_assignment :: proc() {
+ a := WGL_CONTEXT_FLAGS_ARB when ODIN_DEBUG else 0
+ b := ODIN_DEBUG ? WGL_CONTEXT_FLAGS_ARB : 0
+}
diff --git a/tools/odinfmt/tests/assignments.odin b/tools/odinfmt/tests/assignments.odin
index c90b04e..53cc9aa 100644
--- a/tools/odinfmt/tests/assignments.odin
+++ b/tools/odinfmt/tests/assignments.odin
@@ -4,3 +4,8 @@ assignments :: proc() {
a, b, c, d, e, f, res := &big.Int{}, &big.Int{}, &big.Int{}, &big.Int{}, &big.Int{}, &big.Int{}, &big.Int{}
}
+
+ternary_when_assignment :: proc() {
+ a := WGL_CONTEXT_FLAGS_ARB when ODIN_DEBUG else 0
+ b := ODIN_DEBUG ? WGL_CONTEXT_FLAGS_ARB : 0
+}