Example #1
0
        public Result EvaluateMethodCall(MethodPointer pointer, List <Result> methodParameters)
        {
            var args  = _declarations.GetArguments(pointer, methodParameters, this);
            var stack = _declarations.GetScope(pointer, this);

            var derivedScope = _scopes.CreateFunctionScope(stack);

            var code = _declarations.GetCode(pointer, this);

            _processors.Begin(derivedScope);
            var result = _processors.Get().EvaluateFunctionInScope(code, args, pointer, this);

            _processors.End();

            return(result);
        }