コード例 #1
0
ファイル: ForStatementNode.cs プロジェクト: Alxandr/Totem-2.0
 public override IEnumerable<Expression> Generate(Compilation.AstGenerator gen)
 {
     return gen.Loop(
         scope.Variables,
         () => initializer == null ? new Expression[0] : initializer.Generate(gen),
         () => condition == null ? Utils.Constant(true) : gen.Bool(condition.GenerateRead(gen)),
         () => incrementer == null ? null : new[] { incrementer.GenerateRead(gen) },
         () => body == null ? null : body.Generate(gen)
     );
 }