예제 #1
0
		internal Call(OpCode opcode)
		{
			this.opcode = opcode;
		}
예제 #2
0
		public Simple(OpCode opcode)
		{
			this.opcode = opcode;
		}
예제 #3
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;
 }
예제 #4
0
		public static bool TakesSingleByteArgument(OpCode inst)
		{
			switch (inst.Value)
			{
				case 14:
				case 15:
				case 16:
				case 17:
				case 18:
				case 19:
				case 31:
				case 43:
				case 44:
				case 45:
				case 46:
				case 47:
				case 48:
				case 49:
				case 50:
				case 51:
				case 52:
				case 53:
				case 54:
				case 55:
				case 222:
				case -494:
					return true;
				default:
					return false;
			}
		}
예제 #5
0
 public void Emit(IKVM.Reflection.Emit.OpCode opcode, Label[] labels) => generator.Emit(opcode, labels);
예제 #6
0
 public void Emit(IKVM.Reflection.Emit.OpCode opcode, MethodInfo meth) => generator.Emit(opcode, meth);
예제 #7
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;
 }
예제 #8
0
 public void Emit(IKVM.Reflection.Emit.OpCode opcode) => generator.Emit(opcode);
예제 #9
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;
 }
예제 #10
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;
 }
예제 #11
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;
 }
예제 #12
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;
 }
예제 #13
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;
 }
예제 #14
0
		internal TypeInstruction(OpCode opcode)
		{
			this.opcode = opcode;
		}
예제 #15
0
 public void Emit(OpCode opcode)
 {
     Append(Instruction.Create(opcode));
 }
예제 #16
0
		public Branch(OpCode opcode)
		{
			this.opcode = opcode;
		}
예제 #17
0
 public void Emit(OpCode opcode, string str)
 {
     Append(Instruction.Create(opcode, str));
 }
예제 #18
0
 public void Emit(IKVM.Reflection.Emit.OpCode opcode, double arg) => generator.Emit(opcode, arg);
예제 #19
0
 public void Emit(OpCode opcode, IKMethod met)
 {
     Append(Instruction.Create(opcode, met));
 }
예제 #20
0
 public void Emit(IKVM.Reflection.Emit.OpCode opcode, FieldInfo field) => generator.Emit(opcode, field);
예제 #21
0
 public void Emit(OpCode opcode, IKCtor ctor)
 {
     Append(Instruction.Create(opcode, ctor));
 }
예제 #22
0
 public void Emit(IKVM.Reflection.Emit.OpCode opcode, ConstructorInfo con) => generator.Emit(opcode, con);
예제 #23
0
		public bool Equals(OpCode other)
		{
			return this == other;
		}