示例#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)
 {
 }