summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2020-12-21 13:52:54 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2020-12-21 13:52:54 +0100
commit60f257854f2ed0f2fd24101112fd75b65494572b (patch)
tree24966a7b6e3c29b6aca2a3f521a7d7f2c0edb301
parent84c55817a139cad362635cecaadf1922de085b08 (diff)
downloadvala-60f257854f2ed0f2fd24101112fd75b65494572b.tar.gz
codewriter: Wrap AddressofExpression and PointerIndirection in parens
-rw-r--r--vala/valaaddressofexpression.vala2
-rw-r--r--vala/valacodewriter.vala6
2 files changed, 5 insertions, 3 deletions
diff --git a/vala/valaaddressofexpression.vala b/vala/valaaddressofexpression.vala
index 0f3233422..d271d0cc4 100644
--- a/vala/valaaddressofexpression.vala
+++ b/vala/valaaddressofexpression.vala
@@ -65,7 +65,7 @@ public class Vala.AddressofExpression : Expression {
}
public override string to_string () {
- return "&" + inner.to_string ();
+ return "(&%s)".printf (inner.to_string ());
}
public override void replace_expression (Expression old_node, Expression new_node) {
diff --git a/vala/valacodewriter.vala b/vala/valacodewriter.vala
index f555b7a02..cc2196347 100644
--- a/vala/valacodewriter.vala
+++ b/vala/valacodewriter.vala
@@ -1424,13 +1424,15 @@ public class Vala.CodeWriter : CodeVisitor {
}
public override void visit_pointer_indirection (PointerIndirection expr) {
- write_string ("*");
+ write_string ("(*");
expr.inner.accept (this);
+ write_string (")");
}
public override void visit_addressof_expression (AddressofExpression expr) {
- write_string ("&");
+ write_string ("(&");
expr.inner.accept (this);
+ write_string (")");
}
public override void visit_reference_transfer_expression (ReferenceTransferExpression expr) {