i++;
}
- context.analyzer.add_replaced_node (this);
+ context.analyzer.replaced_nodes.add (this);
parent_node.replace_expression (this, stmt.expression);
return stmt.expression.check (context);
}
struct_creation_expression.add_argument (arg);
}
struct_creation_expression.target_type = target_type;
- context.analyzer.add_replaced_node (this);
+ context.analyzer.replaced_nodes.add (this);
parent_node.replace_expression (this, struct_creation_expression);
struct_creation_expression.check (context);
return true;
// keep replaced alive to make sure they remain valid
// for the whole execution of CodeNode.accept
- List<CodeNode> replaced_nodes;
+ public List<CodeNode> replaced_nodes = new ArrayList<CodeNode> ();
public SemanticAnalyzer () {
}
*/
public void analyze (CodeContext context) {
this.context = context;
- replaced_nodes = new ArrayList<CodeNode> ();
var root_symbol = context.root;
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;
}
expr.target_type = target_type;
- context.analyzer.add_replaced_node (this);
+ context.analyzer.replaced_nodes.add (this);
parent_node.replace_expression (this, expr);
return expr.check (context);
}
var assignment = new Assignment (ma, bin, AssignmentOperator.SIMPLE, source_reference);
assignment.target_type = target_type;
- context.analyzer.add_replaced_node (this);
+ context.analyzer.replaced_nodes.add (this);
parent_node.replace_expression (this, assignment);
assignment.check (context);
return true;