コード例 #1
0
        public EmitInstruction Emit(IEmitOpCodeLabelArray opCode, EmitLabel[] labels)
        {
            var instruction = new EmitInstruction(opCode, labels);

            AddInstruction(instruction);
            return(instruction);
        }
コード例 #2
0
        public EmitInstruction Emit(IEmitOpCodeLabel opCode, EmitLabel label)
        {
            var instruction = new EmitInstruction(opCode, label);

            AddInstruction(instruction);
            return(instruction);
        }
コード例 #3
0
        public EmitInstruction Emit(IEmitOpCodeInt opCode, int operand)
        {
            var instruction = new EmitInstruction(opCode, operand);

            AddInstruction(instruction);
            return(instruction);
        }
コード例 #4
0
        public EmitInstruction Emit(IEmitOpCodeShort opCode, sbyte operand)
        {
            var instruction = new EmitInstruction(opCode, operand);

            AddInstruction(instruction);
            return(instruction);
        }
コード例 #5
0
        public EmitInstruction Emit(IEmitOpCodeField opCode, EmitField field)
        {
            var instruction = new EmitInstruction(opCode, field);

            AddInstruction(instruction);
            return(instruction);
        }
コード例 #6
0
        public EmitInstruction Emit(IEmitOpCodeVoid opCode)
        {
            var instruction = new EmitInstruction(opCode, null);

            AddInstruction(instruction);
            return(instruction);
        }
コード例 #7
0
        public EmitInstruction Emit(IEmitOpCodeLocal opCode, EmitLocal local)
        {
            var instruction = new EmitInstruction(opCode, local);

            AddInstruction(instruction);
            return(instruction);
        }
コード例 #8
0
        public EmitInstruction Emit(IEmitOpCodeConstructor opCode, EmitConstructor constructor)
        {
            var instruction = new EmitInstruction(opCode, constructor);

            AddInstruction(instruction);
            return(instruction);
        }
コード例 #9
0
        public EmitInstruction Emit(IEmitOpCodeMethod opCode, EmitMethod method)
        {
            var instruction = new EmitInstruction(opCode, method);

            AddInstruction(instruction);
            return(instruction);
        }
コード例 #10
0
        public EmitInstruction Emit(IEmitOpCodeType opCode, EmitType type)
        {
            var instruction = new EmitInstruction(opCode, type);

            AddInstruction(instruction);
            return(instruction);
        }
コード例 #11
0
 private void AddInstruction(EmitInstruction instruction)
 {
     instructions.Add(instruction);
     if (pendingLabels.Any())
     {
         foreach (var label in pendingLabels)
         {
             instruction.AddLabel(label);
         }
         pendingLabels.Clear();
     }
 }
コード例 #12
0
ファイル: EmitIl.cs プロジェクト: kswoll/sexy-emit
 public EmitInstruction Emit(IEmitOpCodeConstructor opCode, EmitConstructor constructor)
 {
     var instruction = new EmitInstruction(opCode, constructor);
     AddInstruction(instruction);
     return instruction;
 }
コード例 #13
0
ファイル: EmitIl.cs プロジェクト: kswoll/sexy-emit
 public EmitInstruction Emit(IEmitOpCodeMethod opCode, EmitMethod method)
 {
     var instruction = new EmitInstruction(opCode, method);
     AddInstruction(instruction);
     return instruction;
 }
コード例 #14
0
ファイル: EmitIl.cs プロジェクト: kswoll/sexy-emit
 public EmitInstruction Emit(IEmitOpCodeType opCode, EmitType type)
 {
     var instruction = new EmitInstruction(opCode, type);
     AddInstruction(instruction);
     return instruction;
 }
コード例 #15
0
ファイル: EmitIl.cs プロジェクト: kswoll/sexy-emit
 public EmitInstruction Emit(IEmitOpCodeVoid opCode)
 {
     var instruction = new EmitInstruction(opCode, null);
     AddInstruction(instruction);
     return instruction;
 }
コード例 #16
0
ファイル: EmitIl.cs プロジェクト: kswoll/sexy-emit
 private void AddInstruction(EmitInstruction instruction)
 {
     instructions.Add(instruction);
     if (pendingLabels.Any())
     {
         foreach (var label in pendingLabels)
         {
             instruction.AddLabel(label);
         }
         pendingLabels.Clear();
     }
 }
コード例 #17
0
ファイル: EmitIl.cs プロジェクト: kswoll/sexy-emit
 public EmitInstruction Emit(IEmitOpCodeLabelArray opCode, EmitLabel[] labels)
 {
     var instruction = new EmitInstruction(opCode, labels);
     AddInstruction(instruction);
     return instruction;
 }
コード例 #18
0
ファイル: EmitIl.cs プロジェクト: kswoll/sexy-emit
 public EmitInstruction Emit(IEmitOpCodeLocal opCode, EmitLocal local)
 {
     var instruction = new EmitInstruction(opCode, local);
     AddInstruction(instruction);
     return instruction;
 }
コード例 #19
0
ファイル: EmitIl.cs プロジェクト: kswoll/sexy-emit
 public EmitInstruction Emit(IEmitOpCodeField opCode, EmitField field)
 {
     var instruction = new EmitInstruction(opCode, field);
     AddInstruction(instruction);
     return instruction;
 }
コード例 #20
0
ファイル: EmitIl.cs プロジェクト: kswoll/sexy-emit
 public EmitInstruction Emit(IEmitOpCodeByte opCode, byte operand)
 {
     var instruction = new EmitInstruction(opCode, operand);
     AddInstruction(instruction);
     return instruction;
 }
コード例 #21
0
ファイル: EmitIl.cs プロジェクト: kswoll/sexy-emit
 public EmitInstruction Emit(IEmitOpCodeLabel opCode, EmitLabel label)
 {
     var instruction = new EmitInstruction(opCode, label);
     AddInstruction(instruction);
     return instruction;
 }