diff --git a/node.go b/node.go index 94c65f0..13816e8 100644 --- a/node.go +++ b/node.go @@ -1275,6 +1275,22 @@ func (this *conversionState) convertNoFreeFloating(n_ node.Node) (string, error) return v + "++", nil + case *expr.UnaryMinus: + v, err := this.convert(n.Expr) + if err != nil { + return "", parseErr{n, err} + } + + return "-(" + v + ")", nil + + case *expr.UnaryPlus: + v, err := this.convert(n.Expr) + if err != nil { + return "", parseErr{n, err} + } + + return "+(" + v + ")", nil + case *expr.MethodCall: // Foo->Bar(Baz) parent, err := this.convert(n.Variable)