示例#1
0
 public override void VisitShortInlineIInstruction(ShortInlineIInstruction shortInlineIInstruction)
 {
     base.VisitShortInlineIInstruction(shortInlineIInstruction);
     if (shortInlineIInstruction.OpCode == OpCodes.Ldarg_S && shortInlineIInstruction.Byte == 0)
     {
         Target.Emit(OpCodes.Ldfld, _target);
     }
 }
示例#2
0
 public override void VisitShortInlineIInstruction(ShortInlineIInstruction shortInlineIInstruction)
 {
     if (shortInlineIInstruction.OpCode == OpCodes.Ldarg_S && shortInlineIInstruction.Byte == 1)
     {
         Target.Emit(OpCodes.Ldloc, _psource);
     }
     else
     {
         base.VisitShortInlineIInstruction(shortInlineIInstruction);
     }
 }
示例#3
0
        public override void VisitShortInlineIInstruction(ShortInlineIInstruction shortInlineIInstruction)
        {
            OpCode opCode = shortInlineIInstruction.OpCode;

            if (opCode == OpCodes.Ldc_I4_S)
            {
                instructions.Add(new LoadByteInstructionWithReflectionEmit(opCode, shortInlineIInstruction.Byte));
            }
            else if (opCode == OpCodes.Unaligned)
            {
                instructions.Add(new UnalignedInstructionWithReflectionEmit(opCode, shortInlineIInstruction.Byte));
            }
            else
            {
                throw new NotSupportedException();
            }
        }
示例#4
0
 public override void VisitShortInlineIInstruction(ShortInlineIInstruction shortInlineIInstruction)
 {
     base.VisitShortInlineIInstruction(shortInlineIInstruction);
 }
 public virtual void VisitShortInlineIInstruction(ShortInlineIInstruction shortInlineIInstruction)
 {
 }
 public virtual void VisitShortInlineIInstruction(ShortInlineIInstruction shortInlineIInstruction)
 {
 }
 public override void VisitShortInlineIInstruction(ShortInlineIInstruction shortInlineIInstruction)
 {
     Process(shortInlineIInstruction, shortInlineIInstruction.Byte);
     ilGenerator.Emit(shortInlineIInstruction.OpCode, shortInlineIInstruction.Byte);
 }