]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
semanticanalyzer: Transform replaced_nodes field into method
authorRico Tzschichholz <ricotz@ubuntu.com>
Thu, 14 Dec 2017 19:15:29 +0000 (20:15 +0100)
committerRico Tzschichholz <ricotz@ubuntu.com>
Fri, 15 Dec 2017 08:00:23 +0000 (09:00 +0100)
vala/valaassignment.vala
vala/valamethodcall.vala
vala/valasemanticanalyzer.vala
vala/valatemplate.vala
vala/valaunaryexpression.vala

index 761a02e1c0168eab0843cc83f7c67df91b36f29d..6f9f07bdfed4169680c77258c6cae9b646c39c3f 100644 (file)
@@ -133,7 +133,7 @@ public class Vala.Assignment : Expression {
                                i++;
                        }
 
-                       context.analyzer.replaced_nodes.add (this);
+                       context.analyzer.add_replaced_node (this);
                        parent_node.replace_expression (this, stmt.expression);
                        return stmt.expression.check (context);
                }
index 76f2403820645612aa05a0fdb72832af6e9d8041..3080ae546e15f45a290a912199f55de54a48b8ce 100644 (file)
@@ -295,7 +295,7 @@ public class Vala.MethodCall : Expression {
                                struct_creation_expression.add_argument (arg);
                        }
                        struct_creation_expression.target_type = target_type;
-                       context.analyzer.replaced_nodes.add (this);
+                       context.analyzer.add_replaced_node (this);
                        parent_node.replace_expression (this, struct_creation_expression);
                        struct_creation_expression.check (context);
                        return true;
index 5424d7fd0b718fdb7cd99fcbc3c98dca020d397b..20e68ebf9062a24eb0fa2538548f06c2505f3c75 100644 (file)
@@ -165,7 +165,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
 
        // keep replaced alive to make sure they remain valid
        // for the whole execution of CodeNode.accept
-       public List<CodeNode> replaced_nodes = new ArrayList<CodeNode> ();
+       List<CodeNode> replaced_nodes;
 
        public SemanticAnalyzer () {
        }
@@ -177,6 +177,7 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
         */
        public void analyze (CodeContext context) {
                this.context = context;
+               replaced_nodes = new ArrayList<CodeNode> ();
 
                var root_symbol = context.root;
 
@@ -222,9 +223,14 @@ public class Vala.SemanticAnalyzer : CodeVisitor {
                context.root.check (context);
                context.accept (this);
 
+               replaced_nodes = null;
                this.context = null;
        }
 
+       public void add_replaced_node (CodeNode node) {
+               replaced_nodes.add (node);
+       }
+
        public override void visit_source_file (SourceFile file) {
                current_source_file = file;
 
index 5e27a7b8e7ca7d625cfe56e444241428787985db..514e716dd1487fa3fbe62e6d627f4e0a5292226f 100644 (file)
@@ -81,7 +81,7 @@ public class Vala.Template : Expression {
                }
                expr.target_type = target_type;
 
-               context.analyzer.replaced_nodes.add (this);
+               context.analyzer.add_replaced_node (this);
                parent_node.replace_expression (this, expr);
                return expr.check (context);
        }
index 95b0d4fc48c27f689ba142aaf165dbdf85842dda..650e41cd6f3229fe671d988172e88344494199c6 100644 (file)
@@ -224,7 +224,7 @@ public class Vala.UnaryExpression : Expression {
 
                        var assignment = new Assignment (ma, bin, AssignmentOperator.SIMPLE, source_reference);
                        assignment.target_type = target_type;
-                       context.analyzer.replaced_nodes.add (this);
+                       context.analyzer.add_replaced_node (this);
                        parent_node.replace_expression (this, assignment);
                        assignment.check (context);
                        return true;