Example #1
0
        public virtual void AddTwoWay(InstructionNode toAdd)
        {
            if (CurrentIndex < 0)
            {
                throw new Exception("Current Index should be 0 or larger");
            }
            var indexedToAdd = new IndexedArgument(CurrentIndex, toAdd, this);

            AddTwoWay(indexedToAdd);
            CurrentIndex--;
        }
        private void AddLoadElemImplementation(List <InstructionNode> instructionNodes, VirtualCallInstructionNode virtualNodeCall, IndexedArgument objectArgument)
        {
            var callOpCode      = Instruction.Create(CodeGroups.AllOpcodes.First(x => x.Code == Code.Ldelem_Ref));
            var loadElementNode = new LdElemInstructionNode(callOpCode, virtualNodeCall.Method);

            AddImplementation(instructionNodes, virtualNodeCall, loadElementNode);
        }