コード例 #1
0
ファイル: codegen.cs プロジェクト: shugo/babel
 public override void VisitLoop(LoopStatement loop)
 {
     LoopStatement prevLoop = currentLoop;
     currentLoop = loop;
     Label beginLabel = ilGenerator.DefineLabel();
     loop.EndLabel = ilGenerator.DefineLabel();
     ilGenerator.MarkLabel(beginLabel);
     loop.StatementList.Accept(this);
     ilGenerator.Emit(OpCodes.Br, beginLabel);
     ilGenerator.MarkLabel(loop.EndLabel);
     currentLoop = prevLoop;
 }
コード例 #2
0
ファイル: typecheck.cs プロジェクト: shugo/babel
 public override void VisitLoop(LoopStatement loop)
 {
     LoopStatement prevLoop = currentLoop;
     currentLoop = loop;
     loop.StatementList.Accept(this);
     currentLoop = prevLoop;
 }
コード例 #3
0
ファイル: node.cs プロジェクト: shugo/babel
 public virtual void VisitLoop(LoopStatement loop)
 {
 }