Not doing so breaks assumptions of the CodeWriter leading to a mangled
output.
}
public override void accept (CodeVisitor visitor) {
- inner.accept (visitor);
-
visitor.visit_pointer_indirection (this);
visitor.visit_expression (this);
}
+ public override void accept_children (CodeVisitor visitor) {
+ inner.accept (visitor);
+ }
+
public override void replace_expression (Expression old_node, Expression new_node) {
if (inner == old_node) {
inner = new_node;
expr.accept_children (this);
}
+ public override void visit_pointer_indirection (PointerIndirection expr) {
+ if (expr.checked) {
+ return;
+ }
+ expr.accept_children (this);
+ }
+
public override void visit_addressof_expression (AddressofExpression expr) {
if (expr.checked) {
return;