Beispiel #1
0
 protected Result CallFunction(string nameSpace, string function, IRuntime runtime, params IValue[] arguments)
 {
     return(runtime.EvaluateMethodCall(new MethodPointer
     {
         NameSpace = nameSpace,
         Name = function,
     }, new List <Result>(arguments.Select(d => new Result(d)))));
 }
Beispiel #2
0
        public override Result Execute(IRuntime runtime)
        {
            var incomingParamters = Arguments.Args.ToList();
            var methodParamters   = new List <Result>();


            foreach (var argument in incomingParamters)
            {
                var result = runtime.EvaluateCodeBlock(argument);
                if (result.HasResult())
                {
                    methodParamters.Add(result);
                }
                else
                {
                    runtime.AddError(new RuntimeError($"Too much results or incorrect result {Pointer}", this));
                }
            }

            return(runtime.EvaluateMethodCall(Pointer, methodParamters));
        }