}
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) {
}
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) {