// string concatenation
if (analyzer.context.profile == Profile.DOVA) {
- var concat_call = new MethodCall (new MemberAccess (left, "concat"));
+ var concat_call = new MethodCall (new MemberAccess (left, "concat", source_reference), source_reference);
concat_call.add_argument (right);
concat_call.target_type = target_type;
parent_node.replace_expression (this, concat_call);
&& operator == BinaryOperator.PLUS) {
// list concatenation
- var concat_call = new MethodCall (new MemberAccess (left, "concat"));
+ var concat_call = new MethodCall (new MemberAccess (left, "concat", source_reference), source_reference);
concat_call.add_argument (right);
concat_call.target_type = target_type;
parent_node.replace_expression (this, concat_call);
return false;
}
- var iterator_call = new MethodCall (new MemberAccess (collection, "iterator"));
+ var iterator_call = new MethodCall (new MemberAccess (collection, "iterator", source_reference), source_reference);
add_statement (new DeclarationStatement (new LocalVariable (iterator_type, "_%s_it".printf (variable_name), iterator_call, source_reference), source_reference));
var next_value_method = iterator_type.get_member ("next_value") as Method;
// return;
var ret_stmt = (ReturnStatement) stmt;
if (ret_stmt.return_expression != null) {
- var assignment = new Assignment (new MemberAccess.simple ("result"), ret_stmt.return_expression);
+ var assignment = new Assignment (new MemberAccess.simple ("result", stmt.source_reference), ret_stmt.return_expression, AssignmentOperator.SIMPLE, stmt.source_reference);
ret_stmt.return_expression = null;
- block.add_statement (new ExpressionStatement (assignment));
+ block.add_statement (new ExpressionStatement (assignment, stmt.source_reference));
}
}
block.add_statement (stmt);