public RepeatStatementGenerator(GeneratorFactory factory, BlockGenerator block, RepeatBlockSyntaxNode stat) { _repeatLabel = new LabelStatementSyntaxNode(); _block = new BlockGenerator(factory, block.Stack, stat); //Jump to _repeatLabel (falseLabel) if false. _cond = new ConditionGenerator(factory, _block, stat.StopCondition, _repeatLabel, reverseCondition: false); }
public WhileStatementGenerator(GeneratorFactory factory, BlockGenerator block, WhileBlockSyntaxNode stat) { _exitLabel = new LabelStatementSyntaxNode(); _cond = new ConditionGenerator(factory, block, stat.Condition, _exitLabel, reverseCondition: false); _block = new BlockGenerator(factory, block.Stack, stat); }