Shovel.Vm.Vm.HandleNewFrame C# (CSharp) Method

HandleNewFrame() static private method

static private HandleNewFrame ( Vm vm ) : void
vm Vm
return void
        static void HandleNewFrame(Vm vm)
        {
            var instruction = vm.CurrentInstruction ();
            var args = (string[])instruction.Arguments;
            var frame = new VmEnvFrame () {
                VarNames = args,
                Values = new Value[args.Length],
                IntroducedAtProgramCounter = vm.programCounter
            };
            var newEnv = new VmEnvironment () {
                Frame = frame,
                Next = vm.currentEnvironment
            };
            vm.currentEnvironment = newEnv;
            vm.IncrementCells (args.Length * 3 + 5);
            vm.programCounter++;
        }
Vm