From: Rico Tzschichholz Date: Thu, 14 Dec 2017 19:15:29 +0000 (+0100) Subject: semanticanalyzer: Transform replaced_nodes field into method X-Git-Tag: 0.39.3~8 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c81d1f941e06a656deef48d11e795739c94dc8c4;p=thirdparty%2Fvala.git semanticanalyzer: Transform replaced_nodes field into method --- diff --git a/vala/valaassignment.vala b/vala/valaassignment.vala index 761a02e1c..6f9f07bdf 100644 --- a/vala/valaassignment.vala +++ b/vala/valaassignment.vala @@ -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); } diff --git a/vala/valamethodcall.vala b/vala/valamethodcall.vala index 76f240382..3080ae546 100644 --- a/vala/valamethodcall.vala +++ b/vala/valamethodcall.vala @@ -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; diff --git a/vala/valasemanticanalyzer.vala b/vala/valasemanticanalyzer.vala index 5424d7fd0..20e68ebf9 100644 --- a/vala/valasemanticanalyzer.vala +++ b/vala/valasemanticanalyzer.vala @@ -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 replaced_nodes = new ArrayList (); + List 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 (); 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; diff --git a/vala/valatemplate.vala b/vala/valatemplate.vala index 5e27a7b8e..514e716dd 100644 --- a/vala/valatemplate.vala +++ b/vala/valatemplate.vala @@ -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); } diff --git a/vala/valaunaryexpression.vala b/vala/valaunaryexpression.vala index 95b0d4fc4..650e41cd6 100644 --- a/vala/valaunaryexpression.vala +++ b/vala/valaunaryexpression.vala @@ -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;