Shovel.Vm.Vm.ApplyReturnAddress C# (CSharp) Метод

ApplyReturnAddress() статический приватный Метод

static private ApplyReturnAddress ( ReturnAddress returnAddress ) : void
returnAddress Shovel.Vm.Types.ReturnAddress
Результат void
        void ApplyReturnAddress(ReturnAddress returnAddress)
        {
            this.programCounter = returnAddress.ProgramCounter;
            this.currentEnvironment = returnAddress.Environment;
        }

Usage Example

Пример #1
0
 static void FinishPrimitiveCall(
     Vm vm, int numArgs, bool saveReturnAddress, Value result)
 {
     vm.stack.PopMany (numArgs);
     if (saveReturnAddress) {
         vm.programCounter ++;
     } else {
         var maybeRa = vm.stack.PopTop ();
         if (maybeRa.Kind == Value.Kinds.ReturnAddress) {
             vm.ApplyReturnAddress (maybeRa.ReturnAddressValue);
         } else {
             Utils.Panic ();
         }
     }
     vm.stack.Push (result);
     vm.IncrementCells (1);
 }
All Usage Examples Of Shovel.Vm.Vm::ApplyReturnAddress
Vm