Beispiel #1
0
        public override void Execute(MethodInfo aMethod, ILOpCode aOpCode)
        {
            var xOpType = (OpType)aOpCode;
            var xSize   = SizeOfType(xOpType.Value);

            Ldelem_Ref.Assemble(Assembler, xSize, false, DebugEnabled);
        }
Beispiel #2
0
        public override void Execute(MethodInfo aMethod, ILOpCode aOpCode)
        {
            var xOpType = (OpType)aOpCode;
            var xSize   = SizeOfType(xOpType.Value);

            if (xOpType.Value.IsValueType && !xOpType.Value.IsPrimitive)
            {
                Ldelema.Assemble(Assembler, xSize, DebugEnabled);
                Ldobj.DoAssemble(xOpType.Value);
                return;
            }
            Ldelem_Ref.Assemble(Assembler, xSize, false, DebugEnabled);
        }
Beispiel #3
0
 public override void Execute(MethodInfo aMethod, ILOpCode aOpCode)
 {
     Ldelem_Ref.Assemble(Assembler, 2, true, DebugEnabled);
 }
Beispiel #4
0
 public override void Execute(_MethodInfo aMethod, ILOpCode aOpCode)
 {
     Ldelem_Ref.Assemble(Assembler, 1, false, aMethod, aOpCode, DebugEnabled);
 }