2 // System.Reflection.Emit.OpCode
5 // Sergey Chaban (serge@wildwestsoftware.com)
9 using System.Reflection;
10 using System.Reflection.Emit;
13 namespace System.Reflection.Emit {
15 public struct OpCode {
19 internal OpCodeType type;
20 internal OperandType operandType;
21 internal StackBehaviour pop;
22 internal StackBehaviour push;
23 internal FlowControl flowCtrl;
27 internal OpCode (string name, int size,
28 OpCodeType opcodeType,
29 OperandType operandType,
37 this.type = opcodeType;
38 this.operandType = operandType;
41 this.flowCtrl = flowCtrl;
67 public OpCodeType OpCodeType {
75 public OperandType OperandType {
83 public FlowControl FlowControl {
92 public StackBehaviour StackBehaviourPop {
101 public StackBehaviour StackBehaviourPush {
115 // two byte instruction - combine
116 return (short) ((op1 << 2) | op2);
123 } // System.Reflection.Emit