File tree Expand file tree Collapse file tree 2 files changed +8
-4
lines changed Expand file tree Collapse file tree 2 files changed +8
-4
lines changed Original file line number Diff line number Diff line change @@ -45,13 +45,16 @@ func (n *ConstantNode) String() string {
45
45
}
46
46
47
47
func (n * UnaryNode ) String () string {
48
- op := ""
48
+ op := n . Operator
49
49
if n .Operator == "not" {
50
50
op = fmt .Sprintf ("%s " , n .Operator )
51
- } else {
52
- op = fmt .Sprintf ("%s" , n .Operator )
53
51
}
54
- if _ , ok := n .Node .(* BinaryNode ); ok {
52
+ wrap := false
53
+ switch n .Node .(type ) {
54
+ case * BinaryNode , * ConditionalNode :
55
+ wrap = true
56
+ }
57
+ if wrap {
55
58
return fmt .Sprintf ("%s(%s)" , op , n .Node .String ())
56
59
}
57
60
return fmt .Sprintf ("%s%s" , op , n .Node .String ())
Original file line number Diff line number Diff line change @@ -77,6 +77,7 @@ func TestPrint(t *testing.T) {
77
77
{`(nil ?? 1) > 0` , `(nil ?? 1) > 0` },
78
78
{`{("a" + "b"): 42}` , `{("a" + "b"): 42}` },
79
79
{`(One == 1 ? true : false) && Two == 2` , `(One == 1 ? true : false) && Two == 2` },
80
+ {`not (a == 1 ? b > 1 : b < 2)` , `not (a == 1 ? b > 1 : b < 2)` },
80
81
}
81
82
82
83
for _ , tt := range tests {
You can’t perform that action at this time.
0 commit comments