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); }