summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRico Tzschichholz <ricotz@ubuntu.com>2020-12-21 13:52:17 +0100
committerRico Tzschichholz <ricotz@ubuntu.com>2020-12-21 13:52:17 +0100
commitc1eb2136c525a5ec3a1f5b340c24870c7ba55fe5 (patch)
treefeb3a9fa33e49dd51f68701c174b71dd6f4506e6
parent648c9dc793a642fbe7abfc285712f64726c5c975 (diff)
downloadvala-c1eb2136c525a5ec3a1f5b340c24870c7ba55fe5.tar.gz
vala: Use common visitor schema for PointerIndirection expressions
Not doing so breaks assumptions of the CodeWriter leading to a mangled output.
-rw-r--r--vala/valapointerindirection.vala6
-rw-r--r--vala/valasymbolresolver.vala7
2 files changed, 11 insertions, 2 deletions
diff --git a/vala/valapointerindirection.vala b/vala/valapointerindirection.vala
index bcf32b548..6c17d3598 100644
--- a/vala/valapointerindirection.vala
+++ b/vala/valapointerindirection.vala
@@ -54,13 +54,15 @@ public class Vala.PointerIndirection : Expression {
}
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;
diff --git a/vala/valasymbolresolver.vala b/vala/valasymbolresolver.vala
index 823d689d7..35d19d89d 100644
--- a/vala/valasymbolresolver.vala
+++ b/vala/valasymbolresolver.vala
@@ -731,6 +731,13 @@ public class Vala.SymbolResolver : CodeVisitor {
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;