예제 #1
0
 public void Append(Instruction instruction)
 {
     instructions.Add(instruction);
 }
예제 #2
0
 internal static Instruction Create(OpCode opcode, LocalBuilder lvar)
 {
     Instruction i = new Instruction();
     i.opCode = opcode;
     i.type = InstructionType.OpCode;
     i.operand = lvar;
     i.operandType = typeof(LocalBuilder);
     return i;
 }
예제 #3
0
 internal static Instruction Create(OpCode opcode, Label label)
 {
     Instruction i = new Instruction();
     i.opCode = opcode;
     i.type = InstructionType.OpCode;
     i.operand = label;
     i.operandType = typeof(Label);
     return i;
 }
예제 #4
0
 public static Instruction Create(Specials specials, LocalBuilder lvar)
 {
     Instruction i = new Instruction();
     i.type = InstructionType.Special;
     i.operand = lvar;
     i.operandType = typeof(LocalBuilder);
     i.special = specials;
     return i;
 }
예제 #5
0
 internal static Instruction Create(OpCode opcode, long number)
 {
     Instruction i = new Instruction();
     i.opCode = opcode;
     i.type = InstructionType.OpCode;
     i.operand = number;
     i.operandType = typeof(long);
     return i;
 }
예제 #6
0
 public static Instruction Create(Specials specials)
 {
     Instruction i = new Instruction();
     i.type = InstructionType.Special;
     i.operand = new Empty();
     i.operandType = typeof(Empty);
     i.special = specials;
     return i;
 }
예제 #7
0
 public static Instruction Create(Specials specials, Label label)
 {
     Instruction i = new Instruction();
     i.type = InstructionType.Special;
     i.operand = label;
     i.operandType = typeof(Label);
     i.special = specials;
     return i;
 }
예제 #8
0
 public static Instruction Create(OpCode opcode, IKType type)
 {
     Instruction i = new Instruction();
     i.opCode = opcode;
     i.type = InstructionType.OpCode;
     i.operand = type;
     i.operandType = typeof(IKType);
     return i;
 }
예제 #9
0
 public static Instruction Create(OpCode opcode, IKMethod met)
 {
     Instruction i = new Instruction();
     i.opCode = opcode;
     i.type = InstructionType.OpCode;
     i.operand = met;
     i.operandType = typeof(IKMethod);
     return i;
 }
예제 #10
0
 public static Instruction Create(OpCode opcode, string str)
 {
     Instruction i = new Instruction();
     i.opCode = opcode;
     i.type = InstructionType.OpCode;
     i.operand = str;
     i.operandType = typeof(string);
     return i;
 }
예제 #11
0
 public static Instruction Create(OpCode opcode)
 {
     Instruction i = new Instruction();
     i.opCode = opcode;
     i.type = InstructionType.OpCode;
     i.operandType = typeof(Empty);
     i.operand = new Empty();
     return i;
 }
예제 #12
0
 public void InsertAfter(Instruction prev, Instruction instr)
 {
     instructions.Insert(instructions.IndexOf(prev) + 1, instr);
 }