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))))); }
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)); }