Ejemplo n.º 1
0
        internal override bool Invoke(VMachine vm, int argCount, int receiverCount, ValueClosure closure)
        {
            // 更换当前上下文
            vm.EnterFrame(this);

            vm.CurrFrame.ReceiverCount = receiverCount;
            vm.CurrFrame.Closure       = closure;

            vm.MoveArgStack2Local(argCount);

            // 清空栈
            vm.DataStack.PopMulti(argCount);

            // 记录当前的数据栈位置
            vm.CurrFrame.DataStackBase = vm.DataStack.Count;

            return(false);
        }
Ejemplo n.º 2
0
 internal override bool Invoke(VMachine vm, int argCount, int receiverCount, ValueClosure closure)
 {
     return(_func.Invoke(vm, argCount, receiverCount, closure));
 }
Ejemplo n.º 3
0
 internal virtual bool Invoke(VMachine vm, int argCount, int receiverCount, ValueClosure closure)
 {
     return(false);
 }