示例#1
0
        public void Replace(String Name, FunctionDef Definition)
        {
            Func <IVariableProvider <T>, Delegate> d = vc => ExpressionEvaluator <T> .Compile(new VariableProviderCombiner <T>(vc, new ExpressionRuntimeProvider <T>()), Definition.Body);

            Replace(Name, Definition.Parameters, Definition.ReturnValue, d);
        }
示例#2
0
        public static Func <T, TReturn> Compile <TReturn>(IVariableProvider <T> VariableProvider, Expr Expr)
        {
            var ee = new ExpressionEvaluator <T>(VariableProvider, Expr, new Dictionary <Object, Firefly.Texting.TreeFormat.Syntax.TextRange>(), new Dictionary <Expr, PrimitiveType>());

            return(ee.Compile <TReturn>());
        }
示例#3
0
        public static Func <T, TReturn> Compile <TReturn>(IVariableProvider <T> VariableProvider, ExpressionParserExprResult Expr)
        {
            var ee = new ExpressionEvaluator <T>(VariableProvider, Expr.Body, Expr.Positions, Expr.TypeDict);

            return(ee.Compile <TReturn>());
        }
示例#4
0
        public static Delegate Compile(IVariableProvider <T> VariableProvider, ExpressionParserExprResult Expr)
        {
            var ee = new ExpressionEvaluator <T>(VariableProvider, Expr.Body, Expr.Positions, Expr.TypeDict);

            return(ee.Compile());
        }