]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
vala: Use common visitor schema for PointerIndirection expressions
authorRico Tzschichholz <ricotz@ubuntu.com>
Mon, 21 Dec 2020 12:52:17 +0000 (13:52 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Mon, 21 Dec 2020 12:52:17 +0000 (13:52 +0100)
Not doing so breaks assumptions of the CodeWriter leading to a mangled
output.

vala/valapointerindirection.vala
vala/valasymbolresolver.vala

index bcf32b548228b64feb3dde7985317504c20c43d7..6c17d35984112be9fa8ec7841d211733e9775c74 100644 (file)
@@ -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;
index 823d689d70db5ad564f03b60f621e3ee5b7d3970..35d19d89d5ddd1f3a4309f449d1c8408ab51706a 100644 (file)
@@ -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;