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());
 }