var local = new LocalVariable (null, get_temp_name (), right, right.source_reference);
var decl = new DeclarationStatement (local, source_reference);
- decl.check (context);
insert_statement (context.analyzer.insert_block, decl);
+ decl.check (context);
int i = 0;
ExpressionStatement stmt = null;
foreach (var expr in tuple.get_expressions ()) {
if (stmt != null) {
- stmt.check (context);
insert_statement (context.analyzer.insert_block, stmt);
+ stmt.check (context);
}
var temp_access = new MemberAccess.simple (local.name, right.source_reference);
var local = new LocalVariable (context.analyzer.bool_type.copy (), get_temp_name (), null, source_reference);
var decl = new DeclarationStatement (local, source_reference);
- decl.check (context);
var right_stmt = new ExpressionStatement (new Assignment (new MemberAccess.simple (local.name, right.source_reference), right, AssignmentOperator.SIMPLE, right.source_reference), right.source_reference);
insert_statement (context.analyzer.insert_block, decl);
insert_statement (context.analyzer.insert_block, if_stmt);
+ decl.check (context);
+
if (!if_stmt.check (context)) {
error = true;
return false;
var ma = new MemberAccess.simple (local.name, source_reference);
ma.target_type = target_type;
ma.formal_target_type = formal_target_type;
- ma.check (context);
parent_node.replace_expression (this, ma);
+ ma.check (context);
+
return true;
}
cast.target_type.nullable = false;
replace_expr = cast;
}
- replace_expr.check (context);
parent_node.replace_expression (this, replace_expr);
+ replace_expr.check (context);
+
return true;
}
false_expression.target_type = value_type;
var true_stmt = new ExpressionStatement (new Assignment (new MemberAccess.simple (local.name, true_expression.source_reference), true_expression, AssignmentOperator.SIMPLE, true_expression.source_reference), true_expression.source_reference);
- true_stmt.check (context);
var false_stmt = new ExpressionStatement (new Assignment (new MemberAccess.simple (local.name, false_expression.source_reference), false_expression, AssignmentOperator.SIMPLE, false_expression.source_reference), false_expression.source_reference);
- false_stmt.check (context);
true_block.replace_statement (true_decl, true_stmt);
false_block.replace_statement (false_decl, false_stmt);
+ true_stmt.check (context);
+ false_stmt.check (context);
var ma = new MemberAccess.simple (local.name, source_reference);
ma.formal_target_type = formal_target_type;
ma.target_type = target_type;
- ma.check (context);
parent_node.replace_expression (this, ma);
+ ma.check (context);
return true;
}
local.initializer = this;
decl.check (context);
-
// move temp variable to insert block to ensure the
// variable is in the same block as the declaration
// otherwise there will be scoping issues in the generated code
local.initializer = this;
decl.check (context);
-
// move temp variable to insert block to ensure the
// variable is in the same block as the declaration
// otherwise there will be scoping issues in the generated code