public LoopStructure(TypeStructure rt) : base(rt) { BreakLabel = new LabelStructure(); ContinueLabel = new LabelStructure(); PlungeLabel = new LabelStructure(); AppendChild(BreakLabel); AppendChild(ContinueLabel); AppendChild(PlungeLabel); }
public LogicalStructure(TypeStructure rt, ExpressionStructure left, ExpressionStructure right, bool isOr) : base(rt) { Left = left; Right = right; IsOr = isOr; Exit = new LabelStructure(); AppendChild(Left); AppendChild(Right); AppendChild(Exit); }
public GotoStructure(TypeStructure rt, LabelStructure label) : base(rt) { Label = label; }
internal void GenerateJump(OpCode type, LabelStructure label) { Generator.Emit(type, label.GainLabel()); }
internal void MarkLabel(LabelStructure label) { Generator.MarkLabel(label.GainLabel()); }