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