Ejemplo n.º 1
0
 public override LightLambdaExpression ReduceAst(TotemAst instance, string name)
 {
     return Utils.LightLambda<LookupCompilationDelegate>(
         typeof(object),
         AstUtils.Convert(instance.ReduceWorker(), typeof(object)),
         name,
         TotemAst._arrayFuncParams
     );
 }
 public override LightLambdaExpression ReduceAst(TotemAst instance, string name)
 {
     return Utils.LightLambda<Func<FunctionCode, object>>(
         typeof(object),
         Ast.Block(
             new[] { TotemAst._globalArray, TotemAst._globalContext },
             Ast.Assign(TotemAst._globalArray, instance.GlobalArrayInstance),
             Ast.Assign(TotemAst._globalContext, Ast.Constant(instance.CodeContext.GlobalContext)),
             AstUtils.Convert(instance.ReduceWorker(), typeof(object))
         ),
         name,
         new[] { TotemAst._functionCode }
     );
 }