Exemplo n.º 1
0
        public ChimpyObject Run(Context context, ChimpyException e)
        {
            if(localName != null)
                context.SetLocal(localName, e.GetRuntimeObject());

            return handler.Eval(context);
        }
Exemplo n.º 2
0
        public override ChimpyObject Call(ChimpyObject receiver, ChimpyObject [] arguments)
        {
            if(delegatedMethodCall != null)
                return delegatedMethodCall(receiver,arguments);

            Context context = new Context(receiver);
            if(parameters.Length != arguments.Length)
                throw new ArgumentError(name,parameters.Length,arguments.Length);
            for (int i=0;i<parameters.Length;i++)
            {
                context.SetLocal(parameters[i],arguments[i]);
            }

            return body.Eval(context);
        }
Exemplo n.º 3
0
 public override ChimpyObject Eval(Context context)
 {
     ChimpyObject value = expression.Eval(context);
     context.SetLocal(name,value);
     return value;
 }