Exemple #1
0
        public override IValue interpret(Context context)
        {
            MethodFinder       finder      = new MethodFinder(context, this);
            IMethodDeclaration declaration = finder.findBest(true);

            if (declaration == null)
            {
                throw new SyntaxError("No such method: " + this.ToString());
            }
            Context local = selector.newLocalContext(context, declaration);

            declaration.registerParameters(local);
            assignArguments(context, local, declaration);
            return(declaration.interpret(local));
        }