}
public override bool check (CodeContext context) {
+ if (checked) {
+ return !error;
+ }
+
+ checked = true;
+
// convert to simple loop
// do not generate variable and if block if condition is always true
var parent_block = (Block) parent_node;
parent_block.replace_statement (this, loop);
- return loop.check (context);
+ if (!loop.check (context)) {
+ error = true;
+ }
+
+ return !error;
}
var block = new Block (source_reference);
var parent_block = (Block) parent_node;
parent_block.replace_statement (this, block);
- return block.check (context);
+ if (!block.check (context)) {
+ error = true;
+ }
+
+ return !error;
}
}
}
public override bool check (CodeContext context) {
+ if (checked) {
+ return !error;
+ }
+
+ checked = true;
+
// convert to simple loop
var block = new Block (source_reference);
var parent_block = (Block) parent_node;
parent_block.replace_statement (this, block);
- return block.check (context);
+ if (!block.check (context)) {
+ error = true;
+ }
+
+ return !error;
}
}
}
public override bool check (CodeContext context) {
+ if (checked) {
+ return !error;
+ }
+
+ checked = true;
+
if (expression != null) {
var switch_statement = (SwitchStatement) section.parent_node;
}
}
- expression.check (context);
+ if (!expression.check (context)) {
+ error = true;
+ return false;
+ }
if (!expression.is_constant ()) {
error = true;
}
public override bool check (CodeContext context) {
+ if (checked) {
+ return !error;
+ }
+
+ checked = true;
+
// convert to simple loop
if (always_true (condition)) {
var parent_block = (Block) parent_node;
parent_block.replace_statement (this, loop);
- return loop.check (context);
+ if (!loop.check (context)) {
+ error = true;
+ }
+
+ return !error;
}
}