Code

We found 10 examples in language CSharp for this search. You will see 24 fragments of code.
#if USE_HOT
#define READ_ONLY
//
// Author:
//   Jb Evain ([email protected])
//
// Copyright (c) 2008 - 2015 Jb Evain
// Copyright (c) 2008 - 2011 Novell, Inc.
//
// Licensed under the MIT/X11 license.
//

namespace ILRuntime.Mono.Cecil.Cil {

	public static class OpCodes {

		internal static readonly OpCode [] OneByteOpCode = new OpCode [0xe0 + 1];
		internal static readonly OpCode [] TwoBytesOpCode = new OpCode [0x1e + 1];

		public static readonly OpCode Nop = new OpCode (
			0xff << 0 | 0x00 << 8 | (byte) Code.Nop << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Break = new OpCode (
			0xff << 0 | 0x01 << 8 | (byte) Code.Break << 16 | (byte) FlowControl.Break << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ldarg_0 = new OpCode (
			0xff << 0 | 0x02 << 8 | (byte) Code.Ldarg_0 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldarg_1 = new OpCode (
			0xff << 0 | 0x03 << 8 | (byte) Code.Ldarg_1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldarg_2 = new OpCode (
			0xff << 0 | 0x04 << 8 | (byte) Code.Ldarg_2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldarg_3 = new OpCode (
			0xff << 0 | 0x05 << 8 | (byte) Code.Ldarg_3 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldloc_0 = new OpCode (
			0xff << 0 | 0x06 << 8 | (byte) Code.Ldloc_0 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldloc_1 = new OpCode (
			0xff << 0 | 0x07 << 8 | (byte) Code.Ldloc_1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldloc_2 = new OpCode (
			0xff << 0 | 0x08 << 8 | (byte) Code.Ldloc_2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldloc_3 = new OpCode (
			0xff << 0 | 0x09 << 8 | (byte) Code.Ldloc_3 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Stloc_0 = new OpCode (
			0xff << 0 | 0x0a << 8 | (byte) Code.Stloc_0 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stloc_1 = new OpCode (
			0xff << 0 | 0x0b << 8 | (byte) Code.Stloc_1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stloc_2 = new OpCode (
			0xff << 0 | 0x0c << 8 | (byte) Code.Stloc_2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stloc_3 = new OpCode (
			0xff << 0 | 0x0d << 8 | (byte) Code.Stloc_3 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ldarg_S = new OpCode (
			0xff << 0 | 0x0e << 8 | (byte) Code.Ldarg_S << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineArg << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldarga_S = new OpCode (
			0xff << 0 | 0x0f << 8 | (byte) Code.Ldarga_S << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineArg << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Starg_S = new OpCode (
			0xff << 0 | 0x10 << 8 | (byte) Code.Starg_S << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineArg << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ldloc_S = new OpCode (
			0xff << 0 | 0x11 << 8 | (byte) Code.Ldloc_S << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineVar << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldloca_S = new OpCode (
			0xff << 0 | 0x12 << 8 | (byte) Code.Ldloca_S << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineVar << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Stloc_S = new OpCode (
			0xff << 0 | 0x13 << 8 | (byte) Code.Stloc_S << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineVar << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ldnull = new OpCode (
			0xff << 0 | 0x14 << 8 | (byte) Code.Ldnull << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushref << 24);

		public static readonly OpCode Ldc_I4_M1 = new OpCode (
			0xff << 0 | 0x15 << 8 | (byte) Code.Ldc_I4_M1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I4_0 = new OpCode (
			0xff << 0 | 0x16 << 8 | (byte) Code.Ldc_I4_0 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I4_1 = new OpCode (
			0xff << 0 | 0x17 << 8 | (byte) Code.Ldc_I4_1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I4_2 = new OpCode (
			0xff << 0 | 0x18 << 8 | (byte) Code.Ldc_I4_2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I4_3 = new OpCode (
			0xff << 0 | 0x19 << 8 | (byte) Code.Ldc_I4_3 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I4_4 = new OpCode (
			0xff << 0 | 0x1a << 8 | (byte) Code.Ldc_I4_4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I4_5 = new OpCode (
			0xff << 0 | 0x1b << 8 | (byte) Code.Ldc_I4_5 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I4_6 = new OpCode (
			0xff << 0 | 0x1c << 8 | (byte) Code.Ldc_I4_6 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I4_7 = new OpCode (
			0xff << 0 | 0x1d << 8 | (byte) Code.Ldc_I4_7 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I4_8 = new OpCode (
			0xff << 0 | 0x1e << 8 | (byte) Code.Ldc_I4_8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I4_S = new OpCode (
			0xff << 0 | 0x1f << 8 | (byte) Code.Ldc_I4_S << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineI << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I4 = new OpCode (
			0xff << 0 | 0x20 << 8 | (byte) Code.Ldc_I4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineI << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldc_I8 = new OpCode (
			0xff << 0 | 0x21 << 8 | (byte) Code.Ldc_I8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineI8 << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi8 << 24);

		public static readonly OpCode Ldc_R4 = new OpCode (
			0xff << 0 | 0x22 << 8 | (byte) Code.Ldc_R4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.ShortInlineR << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushr4 << 24);

		public static readonly OpCode Ldc_R8 = new OpCode (
			0xff << 0 | 0x23 << 8 | (byte) Code.Ldc_R8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineR << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushr8 << 24);

		public static readonly OpCode Dup = new OpCode (
			0xff << 0 | 0x25 << 8 | (byte) Code.Dup << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push1_push1 << 24);

		public static readonly OpCode Pop = new OpCode (
			0xff << 0 | 0x26 << 8 | (byte) Code.Pop << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Jmp = new OpCode (
			0xff << 0 | 0x27 << 8 | (byte) Code.Jmp << 16 | (byte) FlowControl.Call << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Call = new OpCode (
			0xff << 0 | 0x28 << 8 | (byte) Code.Call << 16 | (byte) FlowControl.Call << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Varpop << 16 | (byte) StackBehaviour.Varpush << 24);

		public static readonly OpCode Calli = new OpCode (
			0xff << 0 | 0x29 << 8 | (byte) Code.Calli << 16 | (byte) FlowControl.Call << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineSig << 8 | (byte) StackBehaviour.Varpop << 16 | (byte) StackBehaviour.Varpush << 24);

		public static readonly OpCode Ret = new OpCode (
			0xff << 0 | 0x2a << 8 | (byte) Code.Ret << 16 | (byte) FlowControl.Return << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Varpop << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Br_S = new OpCode (
			0xff << 0 | 0x2b << 8 | (byte) Code.Br_S << 16 | (byte) FlowControl.Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Brfalse_S = new OpCode (
			0xff << 0 | 0x2c << 8 | (byte) Code.Brfalse_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Brtrue_S = new OpCode (
			0xff << 0 | 0x2d << 8 | (byte) Code.Brtrue_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Beq_S = new OpCode (
			0xff << 0 | 0x2e << 8 | (byte) Code.Beq_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Bge_S = new OpCode (
			0xff << 0 | 0x2f << 8 | (byte) Code.Bge_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Bgt_S = new OpCode (
			0xff << 0 | 0x30 << 8 | (byte) Code.Bgt_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ble_S = new OpCode (
			0xff << 0 | 0x31 << 8 | (byte) Code.Ble_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Blt_S = new OpCode (
			0xff << 0 | 0x32 << 8 | (byte) Code.Blt_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Bne_Un_S = new OpCode (
			0xff << 0 | 0x33 << 8 | (byte) Code.Bne_Un_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Bge_Un_S = new OpCode (
			0xff << 0 | 0x34 << 8 | (byte) Code.Bge_Un_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Bgt_Un_S = new OpCode (
			0xff << 0 | 0x35 << 8 | (byte) Code.Bgt_Un_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ble_Un_S = new OpCode (
			0xff << 0 | 0x36 << 8 | (byte) Code.Ble_Un_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Blt_Un_S = new OpCode (
			0xff << 0 | 0x37 << 8 | (byte) Code.Blt_Un_S << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Br = new OpCode (
			0xff << 0 | 0x38 << 8 | (byte) Code.Br << 16 | (byte) FlowControl.Branch << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Brfalse = new OpCode (
			0xff << 0 | 0x39 << 8 | (byte) Code.Brfalse << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Brtrue = new OpCode (
			0xff << 0 | 0x3a << 8 | (byte) Code.Brtrue << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Beq = new OpCode (
			0xff << 0 | 0x3b << 8 | (byte) Code.Beq << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Bge = new OpCode (
			0xff << 0 | 0x3c << 8 | (byte) Code.Bge << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Bgt = new OpCode (
			0xff << 0 | 0x3d << 8 | (byte) Code.Bgt << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ble = new OpCode (
			0xff << 0 | 0x3e << 8 | (byte) Code.Ble << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Blt = new OpCode (
			0xff << 0 | 0x3f << 8 | (byte) Code.Blt << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Bne_Un = new OpCode (
			0xff << 0 | 0x40 << 8 | (byte) Code.Bne_Un << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Bge_Un = new OpCode (
			0xff << 0 | 0x41 << 8 | (byte) Code.Bge_Un << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Bgt_Un = new OpCode (
			0xff << 0 | 0x42 << 8 | (byte) Code.Bgt_Un << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ble_Un = new OpCode (
			0xff << 0 | 0x43 << 8 | (byte) Code.Ble_Un << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Blt_Un = new OpCode (
			0xff << 0 | 0x44 << 8 | (byte) Code.Blt_Un << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Switch = new OpCode (
			0xff << 0 | 0x45 << 8 | (byte) Code.Switch << 16 | (byte) FlowControl.Cond_Branch << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineSwitch << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ldind_I1 = new OpCode (
			0xff << 0 | 0x46 << 8 | (byte) Code.Ldind_I1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldind_U1 = new OpCode (
			0xff << 0 | 0x47 << 8 | (byte) Code.Ldind_U1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldind_I2 = new OpCode (
			0xff << 0 | 0x48 << 8 | (byte) Code.Ldind_I2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldind_U2 = new OpCode (
			0xff << 0 | 0x49 << 8 | (byte) Code.Ldind_U2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldind_I4 = new OpCode (
			0xff << 0 | 0x4a << 8 | (byte) Code.Ldind_I4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldind_U4 = new OpCode (
			0xff << 0 | 0x4b << 8 | (byte) Code.Ldind_U4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldind_I8 = new OpCode (
			0xff << 0 | 0x4c << 8 | (byte) Code.Ldind_I8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi8 << 24);

		public static readonly OpCode Ldind_I = new OpCode (
			0xff << 0 | 0x4d << 8 | (byte) Code.Ldind_I << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldind_R4 = new OpCode (
			0xff << 0 | 0x4e << 8 | (byte) Code.Ldind_R4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushr4 << 24);

		public static readonly OpCode Ldind_R8 = new OpCode (
			0xff << 0 | 0x4f << 8 | (byte) Code.Ldind_R8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushr8 << 24);

		public static readonly OpCode Ldind_Ref = new OpCode (
			0xff << 0 | 0x50 << 8 | (byte) Code.Ldind_Ref << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushref << 24);

		public static readonly OpCode Stind_Ref = new OpCode (
			0xff << 0 | 0x51 << 8 | (byte) Code.Stind_Ref << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stind_I1 = new OpCode (
			0xff << 0 | 0x52 << 8 | (byte) Code.Stind_I1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stind_I2 = new OpCode (
			0xff << 0 | 0x53 << 8 | (byte) Code.Stind_I2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stind_I4 = new OpCode (
			0xff << 0 | 0x54 << 8 | (byte) Code.Stind_I4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stind_I8 = new OpCode (
			0xff << 0 | 0x55 << 8 | (byte) Code.Stind_I8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi8 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stind_R4 = new OpCode (
			0xff << 0 | 0x56 << 8 | (byte) Code.Stind_R4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popr4 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stind_R8 = new OpCode (
			0xff << 0 | 0x57 << 8 | (byte) Code.Stind_R8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popr8 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Add = new OpCode (
			0xff << 0 | 0x58 << 8 | (byte) Code.Add << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Sub = new OpCode (
			0xff << 0 | 0x59 << 8 | (byte) Code.Sub << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Mul = new OpCode (
			0xff << 0 | 0x5a << 8 | (byte) Code.Mul << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Div = new OpCode (
			0xff << 0 | 0x5b << 8 | (byte) Code.Div << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Div_Un = new OpCode (
			0xff << 0 | 0x5c << 8 | (byte) Code.Div_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Rem = new OpCode (
			0xff << 0 | 0x5d << 8 | (byte) Code.Rem << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Rem_Un = new OpCode (
			0xff << 0 | 0x5e << 8 | (byte) Code.Rem_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode And = new OpCode (
			0xff << 0 | 0x5f << 8 | (byte) Code.And << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Or = new OpCode (
			0xff << 0 | 0x60 << 8 | (byte) Code.Or << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Xor = new OpCode (
			0xff << 0 | 0x61 << 8 | (byte) Code.Xor << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Shl = new OpCode (
			0xff << 0 | 0x62 << 8 | (byte) Code.Shl << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Shr = new OpCode (
			0xff << 0 | 0x63 << 8 | (byte) Code.Shr << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Shr_Un = new OpCode (
			0xff << 0 | 0x64 << 8 | (byte) Code.Shr_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Neg = new OpCode (
			0xff << 0 | 0x65 << 8 | (byte) Code.Neg << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Not = new OpCode (
			0xff << 0 | 0x66 << 8 | (byte) Code.Not << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Conv_I1 = new OpCode (
			0xff << 0 | 0x67 << 8 | (byte) Code.Conv_I1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_I2 = new OpCode (
			0xff << 0 | 0x68 << 8 | (byte) Code.Conv_I2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_I4 = new OpCode (
			0xff << 0 | 0x69 << 8 | (byte) Code.Conv_I4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_I8 = new OpCode (
			0xff << 0 | 0x6a << 8 | (byte) Code.Conv_I8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);

		public static readonly OpCode Conv_R4 = new OpCode (
			0xff << 0 | 0x6b << 8 | (byte) Code.Conv_R4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushr4 << 24);

		public static readonly OpCode Conv_R8 = new OpCode (
			0xff << 0 | 0x6c << 8 | (byte) Code.Conv_R8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushr8 << 24);

		public static readonly OpCode Conv_U4 = new OpCode (
			0xff << 0 | 0x6d << 8 | (byte) Code.Conv_U4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_U8 = new OpCode (
			0xff << 0 | 0x6e << 8 | (byte) Code.Conv_U8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);

		public static readonly OpCode Callvirt = new OpCode (
			0xff << 0 | 0x6f << 8 | (byte) Code.Callvirt << 16 | (byte) FlowControl.Call << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Varpop << 16 | (byte) StackBehaviour.Varpush << 24);

		public static readonly OpCode Cpobj = new OpCode (
			0xff << 0 | 0x70 << 8 | (byte) Code.Cpobj << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ldobj = new OpCode (
			0xff << 0 | 0x71 << 8 | (byte) Code.Ldobj << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldstr = new OpCode (
			0xff << 0 | 0x72 << 8 | (byte) Code.Ldstr << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineString << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushref << 24);

		public static readonly OpCode Newobj = new OpCode (
			0xff << 0 | 0x73 << 8 | (byte) Code.Newobj << 16 | (byte) FlowControl.Call << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Varpop << 16 | (byte) StackBehaviour.Pushref << 24);

		public static readonly OpCode Castclass = new OpCode (
			0xff << 0 | 0x74 << 8 | (byte) Code.Castclass << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushref << 24);

		public static readonly OpCode Isinst = new OpCode (
			0xff << 0 | 0x75 << 8 | (byte) Code.Isinst << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_R_Un = new OpCode (
			0xff << 0 | 0x76 << 8 | (byte) Code.Conv_R_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushr8 << 24);

		public static readonly OpCode Unbox = new OpCode (
			0xff << 0 | 0x79 << 8 | (byte) Code.Unbox << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Throw = new OpCode (
			0xff << 0 | 0x7a << 8 | (byte) Code.Throw << 16 | (byte) FlowControl.Throw << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ldfld = new OpCode (
			0xff << 0 | 0x7b << 8 | (byte) Code.Ldfld << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldflda = new OpCode (
			0xff << 0 | 0x7c << 8 | (byte) Code.Ldflda << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Stfld = new OpCode (
			0xff << 0 | 0x7d << 8 | (byte) Code.Stfld << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Popref_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ldsfld = new OpCode (
			0xff << 0 | 0x7e << 8 | (byte) Code.Ldsfld << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldsflda = new OpCode (
			0xff << 0 | 0x7f << 8 | (byte) Code.Ldsflda << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Stsfld = new OpCode (
			0xff << 0 | 0x80 << 8 | (byte) Code.Stsfld << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineField << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stobj = new OpCode (
			0xff << 0 | 0x81 << 8 | (byte) Code.Stobj << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi_pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Conv_Ovf_I1_Un = new OpCode (
			0xff << 0 | 0x82 << 8 | (byte) Code.Conv_Ovf_I1_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_I2_Un = new OpCode (
			0xff << 0 | 0x83 << 8 | (byte) Code.Conv_Ovf_I2_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_I4_Un = new OpCode (
			0xff << 0 | 0x84 << 8 | (byte) Code.Conv_Ovf_I4_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_I8_Un = new OpCode (
			0xff << 0 | 0x85 << 8 | (byte) Code.Conv_Ovf_I8_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);

		public static readonly OpCode Conv_Ovf_U1_Un = new OpCode (
			0xff << 0 | 0x86 << 8 | (byte) Code.Conv_Ovf_U1_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_U2_Un = new OpCode (
			0xff << 0 | 0x87 << 8 | (byte) Code.Conv_Ovf_U2_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_U4_Un = new OpCode (
			0xff << 0 | 0x88 << 8 | (byte) Code.Conv_Ovf_U4_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_U8_Un = new OpCode (
			0xff << 0 | 0x89 << 8 | (byte) Code.Conv_Ovf_U8_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);

		public static readonly OpCode Conv_Ovf_I_Un = new OpCode (
			0xff << 0 | 0x8a << 8 | (byte) Code.Conv_Ovf_I_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_U_Un = new OpCode (
			0xff << 0 | 0x8b << 8 | (byte) Code.Conv_Ovf_U_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Box = new OpCode (
			0xff << 0 | 0x8c << 8 | (byte) Code.Box << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushref << 24);

		public static readonly OpCode Newarr = new OpCode (
			0xff << 0 | 0x8d << 8 | (byte) Code.Newarr << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushref << 24);

		public static readonly OpCode Ldlen = new OpCode (
			0xff << 0 | 0x8e << 8 | (byte) Code.Ldlen << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldelema = new OpCode (
			0xff << 0 | 0x8f << 8 | (byte) Code.Ldelema << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldelem_I1 = new OpCode (
			0xff << 0 | 0x90 << 8 | (byte) Code.Ldelem_I1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldelem_U1 = new OpCode (
			0xff << 0 | 0x91 << 8 | (byte) Code.Ldelem_U1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldelem_I2 = new OpCode (
			0xff << 0 | 0x92 << 8 | (byte) Code.Ldelem_I2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldelem_U2 = new OpCode (
			0xff << 0 | 0x93 << 8 | (byte) Code.Ldelem_U2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldelem_I4 = new OpCode (
			0xff << 0 | 0x94 << 8 | (byte) Code.Ldelem_I4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldelem_U4 = new OpCode (
			0xff << 0 | 0x95 << 8 | (byte) Code.Ldelem_U4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldelem_I8 = new OpCode (
			0xff << 0 | 0x96 << 8 | (byte) Code.Ldelem_I8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi8 << 24);

		public static readonly OpCode Ldelem_I = new OpCode (
			0xff << 0 | 0x97 << 8 | (byte) Code.Ldelem_I << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldelem_R4 = new OpCode (
			0xff << 0 | 0x98 << 8 | (byte) Code.Ldelem_R4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushr4 << 24);

		public static readonly OpCode Ldelem_R8 = new OpCode (
			0xff << 0 | 0x99 << 8 | (byte) Code.Ldelem_R8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushr8 << 24);

		public static readonly OpCode Ldelem_Ref = new OpCode (
			0xff << 0 | 0x9a << 8 | (byte) Code.Ldelem_Ref << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Pushref << 24);

		public static readonly OpCode Stelem_I = new OpCode (
			0xff << 0 | 0x9b << 8 | (byte) Code.Stelem_I << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stelem_I1 = new OpCode (
			0xff << 0 | 0x9c << 8 | (byte) Code.Stelem_I1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stelem_I2 = new OpCode (
			0xff << 0 | 0x9d << 8 | (byte) Code.Stelem_I2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stelem_I4 = new OpCode (
			0xff << 0 | 0x9e << 8 | (byte) Code.Stelem_I4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stelem_I8 = new OpCode (
			0xff << 0 | 0x9f << 8 | (byte) Code.Stelem_I8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popi8 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stelem_R4 = new OpCode (
			0xff << 0 | 0xa0 << 8 | (byte) Code.Stelem_R4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popr4 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stelem_R8 = new OpCode (
			0xff << 0 | 0xa1 << 8 | (byte) Code.Stelem_R8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popr8 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stelem_Ref = new OpCode (
			0xff << 0 | 0xa2 << 8 | (byte) Code.Stelem_Ref << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popref_popi_popref << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ldelem_Any = new OpCode (
			0xff << 0 | 0xa3 << 8 | (byte) Code.Ldelem_Any << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref_popi << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Stelem_Any = new OpCode (
			0xff << 0 | 0xa4 << 8 | (byte) Code.Stelem_Any << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref_popi_popref << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Unbox_Any = new OpCode (
			0xff << 0 | 0xa5 << 8 | (byte) Code.Unbox_Any << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Conv_Ovf_I1 = new OpCode (
			0xff << 0 | 0xb3 << 8 | (byte) Code.Conv_Ovf_I1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_U1 = new OpCode (
			0xff << 0 | 0xb4 << 8 | (byte) Code.Conv_Ovf_U1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_I2 = new OpCode (
			0xff << 0 | 0xb5 << 8 | (byte) Code.Conv_Ovf_I2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_U2 = new OpCode (
			0xff << 0 | 0xb6 << 8 | (byte) Code.Conv_Ovf_U2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_I4 = new OpCode (
			0xff << 0 | 0xb7 << 8 | (byte) Code.Conv_Ovf_I4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_U4 = new OpCode (
			0xff << 0 | 0xb8 << 8 | (byte) Code.Conv_Ovf_U4 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_I8 = new OpCode (
			0xff << 0 | 0xb9 << 8 | (byte) Code.Conv_Ovf_I8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);

		public static readonly OpCode Conv_Ovf_U8 = new OpCode (
			0xff << 0 | 0xba << 8 | (byte) Code.Conv_Ovf_U8 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi8 << 24);

		public static readonly OpCode Refanyval = new OpCode (
			0xff << 0 | 0xc2 << 8 | (byte) Code.Refanyval << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ckfinite = new OpCode (
			0xff << 0 | 0xc3 << 8 | (byte) Code.Ckfinite << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushr8 << 24);

		public static readonly OpCode Mkrefany = new OpCode (
			0xff << 0 | 0xc6 << 8 | (byte) Code.Mkrefany << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldtoken = new OpCode (
			0xff << 0 | 0xd0 << 8 | (byte) Code.Ldtoken << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineTok << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_U2 = new OpCode (
			0xff << 0 | 0xd1 << 8 | (byte) Code.Conv_U2 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_U1 = new OpCode (
			0xff << 0 | 0xd2 << 8 | (byte) Code.Conv_U1 << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_I = new OpCode (
			0xff << 0 | 0xd3 << 8 | (byte) Code.Conv_I << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_I = new OpCode (
			0xff << 0 | 0xd4 << 8 | (byte) Code.Conv_Ovf_I << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Conv_Ovf_U = new OpCode (
			0xff << 0 | 0xd5 << 8 | (byte) Code.Conv_Ovf_U << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Add_Ovf = new OpCode (
			0xff << 0 | 0xd6 << 8 | (byte) Code.Add_Ovf << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Add_Ovf_Un = new OpCode (
			0xff << 0 | 0xd7 << 8 | (byte) Code.Add_Ovf_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Mul_Ovf = new OpCode (
			0xff << 0 | 0xd8 << 8 | (byte) Code.Mul_Ovf << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Mul_Ovf_Un = new OpCode (
			0xff << 0 | 0xd9 << 8 | (byte) Code.Mul_Ovf_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Sub_Ovf = new OpCode (
			0xff << 0 | 0xda << 8 | (byte) Code.Sub_Ovf << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Sub_Ovf_Un = new OpCode (
			0xff << 0 | 0xdb << 8 | (byte) Code.Sub_Ovf_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Endfinally = new OpCode (
			0xff << 0 | 0xdc << 8 | (byte) Code.Endfinally << 16 | (byte) FlowControl.Return << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Leave = new OpCode (
			0xff << 0 | 0xdd << 8 | (byte) Code.Leave << 16 | (byte) FlowControl.Branch << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineBrTarget << 8 | (byte) StackBehaviour.PopAll << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Leave_S = new OpCode (
			0xff << 0 | 0xde << 8 | (byte) Code.Leave_S << 16 | (byte) FlowControl.Branch << 24,
			(byte) OpCodeType.Macro << 0 | (byte) OperandType.ShortInlineBrTarget << 8 | (byte) StackBehaviour.PopAll << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Stind_I = new OpCode (
			0xff << 0 | 0xdf << 8 | (byte) Code.Stind_I << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Conv_U = new OpCode (
			0xff << 0 | 0xe0 << 8 | (byte) Code.Conv_U << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Arglist = new OpCode (
			0xfe << 0 | 0x00 << 8 | (byte) Code.Arglist << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ceq = new OpCode (
			0xfe << 0 | 0x01 << 8 | (byte) Code.Ceq << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Cgt = new OpCode (
			0xfe << 0 | 0x02 << 8 | (byte) Code.Cgt << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Cgt_Un = new OpCode (
			0xfe << 0 | 0x03 << 8 | (byte) Code.Cgt_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Clt = new OpCode (
			0xfe << 0 | 0x04 << 8 | (byte) Code.Clt << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Clt_Un = new OpCode (
			0xfe << 0 | 0x05 << 8 | (byte) Code.Clt_Un << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1_pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldftn = new OpCode (
			0xfe << 0 | 0x06 << 8 | (byte) Code.Ldftn << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldvirtftn = new OpCode (
			0xfe << 0 | 0x07 << 8 | (byte) Code.Ldvirtftn << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineMethod << 8 | (byte) StackBehaviour.Popref << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Ldarg = new OpCode (
			0xfe << 0 | 0x09 << 8 | (byte) Code.Ldarg << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineArg << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldarga = new OpCode (
			0xfe << 0 | 0x0a << 8 | (byte) Code.Ldarga << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineArg << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Starg = new OpCode (
			0xfe << 0 | 0x0b << 8 | (byte) Code.Starg << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineArg << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Ldloc = new OpCode (
			0xfe << 0 | 0x0c << 8 | (byte) Code.Ldloc << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineVar << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push1 << 24);

		public static readonly OpCode Ldloca = new OpCode (
			0xfe << 0 | 0x0d << 8 | (byte) Code.Ldloca << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineVar << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Stloc = new OpCode (
			0xfe << 0 | 0x0e << 8 | (byte) Code.Stloc << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineVar << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Localloc = new OpCode (
			0xfe << 0 | 0x0f << 8 | (byte) Code.Localloc << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Endfilter = new OpCode (
			0xfe << 0 | 0x11 << 8 | (byte) Code.Endfilter << 16 | (byte) FlowControl.Return << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Unaligned = new OpCode (
			0xfe << 0 | 0x12 << 8 | (byte) Code.Unaligned << 16 | (byte) FlowControl.Meta << 24,
			(byte) OpCodeType.Prefix << 0 | (byte) OperandType.ShortInlineI << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Volatile = new OpCode (
			0xfe << 0 | 0x13 << 8 | (byte) Code.Volatile << 16 | (byte) FlowControl.Meta << 24,
			(byte) OpCodeType.Prefix << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Tail = new OpCode (
			0xfe << 0 | 0x14 << 8 | (byte) Code.Tail << 16 | (byte) FlowControl.Meta << 24,
			(byte) OpCodeType.Prefix << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Initobj = new OpCode (
			0xfe << 0 | 0x15 << 8 | (byte) Code.Initobj << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Constrained = new OpCode (
			0xfe << 0 | 0x16 << 8 | (byte) Code.Constrained << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Prefix << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Cpblk = new OpCode (
			0xfe << 0 | 0x17 << 8 | (byte) Code.Cpblk << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Initblk = new OpCode (
			0xfe << 0 | 0x18 << 8 | (byte) Code.Initblk << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Popi_popi_popi << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode No = new OpCode (
			0xfe << 0 | 0x19 << 8 | (byte) Code.No << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Prefix << 0 | (byte) OperandType.ShortInlineI << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Rethrow = new OpCode (
			0xfe << 0 | 0x1a << 8 | (byte) Code.Rethrow << 16 | (byte) FlowControl.Throw << 24,
			(byte) OpCodeType.Objmodel << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);

		public static readonly OpCode Sizeof = new OpCode (
			0xfe << 0 | 0x1c << 8 | (byte) Code.Sizeof << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineType << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Refanytype = new OpCode (
			0xfe << 0 | 0x1d << 8 | (byte) Code.Refanytype << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Primitive << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop1 << 16 | (byte) StackBehaviour.Pushi << 24);

		public static readonly OpCode Readonly = new OpCode (
			0xfe << 0 | 0x1e << 8 | (byte) Code.Readonly << 16 | (byte) FlowControl.Next << 24,
			(byte) OpCodeType.Prefix << 0 | (byte) OperandType.InlineNone << 8 | (byte) StackBehaviour.Pop0 << 16 | (byte) StackBehaviour.Push0 << 24);
	}
}

#endif


		private static string GetFormattedInfo( string code )
		{
			if ( code == null || code.Length != 3 )
				return String.Format( "Unknown code {0}", code );

			for ( int i = 0; i < InternationalCodes.Length; i++ )
			{
				if ( code == InternationalCodes[i].Code )
				{
					return String.Format( "{0}", InternationalCodes[i].GetName() );
				}
			}

			return String.Format( "Unknown code {0}", code );
		}

			public int Compare( InternationalCodeCounter x, InternationalCodeCounter y )
			{
				string a = null, b = null;
				int ca = 0, cb = 0;

				a = x.Code;
				ca = x.Count;
				b = y.Code;
				cb = y.Count;


				if ( ca > cb )
					return -1;

				if ( ca < cb )
					return 1;

				if ( a == null && b == null )
					return 0;

				if ( a == null )
					return 1;

				if ( b == null )
					return -1;

				return a.CompareTo( b );
			}

namespace InControl
{
	using UnityEngine;


	public struct KeyInfo
	{
		private readonly Key key;
		private readonly string name;
		private readonly string macName;
		private readonly KeyCode[] keyCodes;


		private KeyInfo( Key key, string name, params KeyCode[] keyCodes )
		{
			this.key = key;
			this.name = name;
			this.macName = name;
			this.keyCodes = keyCodes;
		}


		private KeyInfo( Key key, string name, string macName, params KeyCode[] keyCodes )
		{
			this.key = key;
			this.name = name;
			this.macName = macName;
			this.keyCodes = keyCodes;
		}


		public bool IsPressed
		{
			get
			{
				var keyCodeCount = keyCodes.Length;
				for (var i = 0; i < keyCodeCount; i++)
				{
					if (Input.GetKey( keyCodes[i] ))
					{
						return true;
					}
				}
				return false;
			}
		}


		public string Name
		{
			get
			{
				if (Application.platform == RuntimePlatform.OSXEditor ||
					Application.platform == RuntimePlatform.OSXPlayer
#if !UNITY_5_4_OR_NEWER
					|| Application.platform == RuntimePlatform.OSXWebPlayer
#endif
				   )
				{
					return macName;
				}
				else
				{
					return name;
				}
			}
		}


		public Key Key
		{
			get
			{
				return key;
			}
		}


		public static readonly KeyInfo[] KeyList = {
			new KeyInfo( Key.None, "None", KeyCode.None ),

			new KeyInfo( Key.Shift, "Shift", KeyCode.LeftShift, KeyCode.RightShift ),
			new KeyInfo( Key.Alt, "Alt", "Option", KeyCode.LeftAlt, KeyCode.RightAlt ),
			new KeyInfo( Key.Command, "Command", KeyCode.LeftCommand, KeyCode.RightCommand ),
			new KeyInfo( Key.Control, "Control", KeyCode.LeftControl, KeyCode.RightControl ),

			new KeyInfo( Key.LeftShift, "Left Shift", KeyCode.LeftShift ),
			new KeyInfo( Key.LeftAlt, "Left Alt", "Left Option", KeyCode.LeftAlt ),
			new KeyInfo( Key.LeftCommand, "Left Command", KeyCode.LeftCommand ),
			new KeyInfo( Key.LeftControl, "Left Control", KeyCode.LeftControl ),

			new KeyInfo( Key.RightShift, "Right Shift", KeyCode.RightShift ),
			new KeyInfo( Key.RightAlt, "Right Alt", "Right Option", KeyCode.RightAlt ),
			new KeyInfo( Key.RightCommand, "Right Command", KeyCode.RightCommand ),
			new KeyInfo( Key.RightControl, "Right Control", KeyCode.RightControl ),

			new KeyInfo( Key.Escape, "Escape", KeyCode.Escape ),
			new KeyInfo( Key.F1, "F1", KeyCode.F1 ),
			new KeyInfo( Key.F2, "F2", KeyCode.F2 ),
			new KeyInfo( Key.F3, "F3", KeyCode.F3 ),
			new KeyInfo( Key.F4, "F4", KeyCode.F4 ),
			new KeyInfo( Key.F5, "F5", KeyCode.F5 ),
			new KeyInfo( Key.F6, "F6", KeyCode.F6 ),
			new KeyInfo( Key.F7, "F7", KeyCode.F7 ),
			new KeyInfo( Key.F8, "F8", KeyCode.F8 ),
			new KeyInfo( Key.F9, "F9", KeyCode.F9 ),
			new KeyInfo( Key.F10, "F10", KeyCode.F10 ),
			new KeyInfo( Key.F11, "F11", KeyCode.F11 ),
			new KeyInfo( Key.F12, "F12", KeyCode.F12 ),

			new KeyInfo( Key.Key0, "Num 0", KeyCode.Alpha0 ),
			new KeyInfo( Key.Key1, "Num 1", KeyCode.Alpha1 ),
			new KeyInfo( Key.Key2, "Num 2", KeyCode.Alpha2 ),
			new KeyInfo( Key.Key3, "Num 3", KeyCode.Alpha3 ),
			new KeyInfo( Key.Key4, "Num 4", KeyCode.Alpha4 ),
			new KeyInfo( Key.Key5, "Num 5", KeyCode.Alpha5 ),
			new KeyInfo( Key.Key6, "Num 6", KeyCode.Alpha6 ),
			new KeyInfo( Key.Key7, "Num 7", KeyCode.Alpha7 ),
			new KeyInfo( Key.Key8, "Num 8", KeyCode.Alpha8 ),
			new KeyInfo( Key.Key9, "Num 9", KeyCode.Alpha9 ),

			new KeyInfo( Key.A, "A", KeyCode.A ),
			new KeyInfo( Key.B, "B", KeyCode.B ),
			new KeyInfo( Key.C, "C", KeyCode.C ),
			new KeyInfo( Key.D, "D", KeyCode.D ),
			new KeyInfo( Key.E, "E", KeyCode.E ),
			new KeyInfo( Key.F, "F", KeyCode.F ),
			new KeyInfo( Key.G, "G", KeyCode.G ),
			new KeyInfo( Key.H, "H", KeyCode.H ),
			new KeyInfo( Key.I, "I", KeyCode.I ),
			new KeyInfo( Key.J, "J", KeyCode.J ),
			new KeyInfo( Key.K, "K", KeyCode.K ),
			new KeyInfo( Key.L, "L", KeyCode.L ),
			new KeyInfo( Key.M, "M", KeyCode.M ),
			new KeyInfo( Key.N, "N", KeyCode.N ),
			new KeyInfo( Key.O, "O", KeyCode.O ),
			new KeyInfo( Key.P, "P", KeyCode.P ),
			new KeyInfo( Key.Q, "Q", KeyCode.Q ),
			new KeyInfo( Key.R, "R", KeyCode.R ),
			new KeyInfo( Key.S, "S", KeyCode.S ),
			new KeyInfo( Key.T, "T", KeyCode.T ),
			new KeyInfo( Key.U, "U", KeyCode.U ),
			new KeyInfo( Key.V, "V", KeyCode.V ),
			new KeyInfo( Key.W, "W", KeyCode.W ),
			new KeyInfo( Key.X, "X", KeyCode.X ),
			new KeyInfo( Key.Y, "Y", KeyCode.Y ),
			new KeyInfo( Key.Z, "Z", KeyCode.Z ),

			new KeyInfo( Key.Backquote, "Backquote", KeyCode.BackQuote ),
			new KeyInfo( Key.Minus, "Minus", KeyCode.Minus ),
			new KeyInfo( Key.Equals, "Equals", KeyCode.Equals ),
			new KeyInfo( Key.Backspace, "Backspace", "Delete", KeyCode.Backspace ),

			new KeyInfo( Key.Tab, "Tab", KeyCode.Tab ),
			new KeyInfo( Key.LeftBracket, "Left Bracket", KeyCode.LeftBracket ),
			new KeyInfo( Key.RightBracket, "Right Bracket", KeyCode.RightBracket ),
			new KeyInfo( Key.Backslash, "Backslash", KeyCode.Backslash ),

			new KeyInfo( Key.Semicolon, "Semicolon", KeyCode.Semicolon ),
			new KeyInfo( Key.Quote, "Quote", KeyCode.Quote ),
			new KeyInfo( Key.Return, "Return", KeyCode.Return ),

			new KeyInfo( Key.Comma, "Comma", KeyCode.Comma ),
			new KeyInfo( Key.Period, "Period", KeyCode.Period ),
			new KeyInfo( Key.Slash, "Slash", KeyCode.Slash ),

			new KeyInfo( Key.Space, "Space", KeyCode.Space ),

			new KeyInfo( Key.Insert, "Insert", KeyCode.Insert ),
			new KeyInfo( Key.Delete, "Delete", "Forward Delete", KeyCode.Delete ),
			new KeyInfo( Key.Home, "Home", KeyCode.Home ),
			new KeyInfo( Key.End, "End", KeyCode.End ),
			new KeyInfo( Key.PageUp, "PageUp", KeyCode.PageUp ),
			new KeyInfo( Key.PageDown, "PageDown", KeyCode.PageDown ),

			new KeyInfo( Key.LeftArrow, "Left Arrow", KeyCode.LeftArrow ),
			new KeyInfo( Key.RightArrow, "Right Arrow", KeyCode.RightArrow ),
			new KeyInfo( Key.UpArrow, "Up Arrow", KeyCode.UpArrow ),
			new KeyInfo( Key.DownArrow, "Down Arrow", KeyCode.DownArrow ),

			new KeyInfo( Key.Pad0, "Pad 0", KeyCode.Keypad0 ),
			new KeyInfo( Key.Pad1, "Pad 1", KeyCode.Keypad1 ),
			new KeyInfo( Key.Pad2, "Pad 2", KeyCode.Keypad2 ),
			new KeyInfo( Key.Pad3, "Pad 3", KeyCode.Keypad3 ),
			new KeyInfo( Key.Pad4, "Pad 4", KeyCode.Keypad4 ),
			new KeyInfo( Key.Pad5, "Pad 5", KeyCode.Keypad5 ),
			new KeyInfo( Key.Pad6, "Pad 6", KeyCode.Keypad6 ),
			new KeyInfo( Key.Pad7, "Pad 7", KeyCode.Keypad7 ),
			new KeyInfo( Key.Pad8, "Pad 8", KeyCode.Keypad8 ),
			new KeyInfo( Key.Pad9, "Pad 9", KeyCode.Keypad9 ),

			new KeyInfo( Key.Numlock, "Numlock", KeyCode.Numlock ),
			new KeyInfo( Key.PadDivide, "Pad Divide", KeyCode.KeypadDivide ),
			new KeyInfo( Key.PadMultiply, "Pad Multiply", KeyCode.KeypadMultiply ),
			new KeyInfo( Key.PadMinus, "Pad Minus", KeyCode.KeypadMinus ),
			new KeyInfo( Key.PadPlus, "Pad Plus", KeyCode.KeypadPlus ),
			new KeyInfo( Key.PadEnter, "Pad Enter", KeyCode.KeypadEnter ),
			new KeyInfo( Key.PadPeriod, "Pad Period", KeyCode.KeypadPeriod ),

			// Mac only?
			new KeyInfo( Key.Clear, "Clear", KeyCode.Clear ),
			new KeyInfo( Key.PadEquals, "Pad Equals", KeyCode.KeypadEquals ),
			new KeyInfo( Key.F13, "F13", KeyCode.F13 ),
			new KeyInfo( Key.F14, "F14", KeyCode.F14 ),
			new KeyInfo( Key.F15, "F15", KeyCode.F15 ),

			// Other
			new KeyInfo( Key.AltGr, "Alt Graphic", KeyCode.AltGr ),
			new KeyInfo( Key.CapsLock, "Caps Lock", KeyCode.CapsLock ),

			// Unity doesn't define/support these :(
			// new KeyInfo( Key.F16, "F16", KeyCode.F16 ),
			// new KeyInfo( Key.F17, "F17", KeyCode.F17 ),
			// new KeyInfo( Key.F18, "F18", KeyCode.F18 ),
			// new KeyInfo( Key.F19, "F19", KeyCode.F19 ),
		};
	}
}



        #endregion

        #region Public Methods

        public void Refactor(CodeTypeExtension typeExtension, string oldName, string newName)
        {
            RefactorType(typeExtension, oldName, newName);
            RefactorFields(typeExtension.Fields, oldName, newName);
            RefactorProperties(typeExtension.Properties, oldName, newName);
            
            // We refactor methods only for client types, service contracts and
            // service types.
            if (typeExtension.Kind == CodeTypeKind.ClientType ||
                typeExtension.Kind == CodeTypeKind.ServiceContract ||
                typeExtension.Kind == CodeTypeKind.ServiceType)
            {
                RefactorMethods(typeExtension.Methods, oldName, newName);
            }
        }

        #endregion

        #region Private Methods

        #region Refactor Type

        private void RefactorType(CodeTypeExtension typeExtension, string oldName, string newName)
        {
            CodeTypeDeclaration type = (CodeTypeDeclaration)typeExtension.ExtendedObject;
            RefactorCodeTypeReferenceCollection(type.BaseTypes, oldName, newName);
            RefactorCodeTypeReferencesInAttributes(type.CustomAttributes, oldName, newName);
        }

        #endregion

        #region Refactor Fields

        private void RefactorFields(FilteredTypeMembers fields, string oldName, string newName)
        {
            foreach (CodeTypeMemberExtension memberExtension in fields)
            {
                CodeMemberField field = (CodeMemberField)memberExtension.ExtendedObject;
                RefactorCodeTypeReference(field.Type, oldName, newName);
                RefactorCodeTypeReferencesInAttributes(field.CustomAttributes, oldName, newName);
            }
        }

        #endregion

        #region Refactor Properties

        private void RefactorProperties(FilteredTypeMembers properties, string oldName, string newName)
        {
            foreach (CodeTypeMemberExtension memberExtension in properties)
            {
                CodeMemberProperty property = (CodeMemberProperty)memberExtension.ExtendedObject;
                // Update the property type.
                RefactorCodeTypeReference(property.Type, oldName, newName);
                // Update the type references in attributes.
                RefactorCodeTypeReferencesInAttributes(property.CustomAttributes, oldName, newName);
            }
        }

        #endregion 

        #region Refactor Methods

        /// <summary>
        /// This method updates the references in methods.
        /// </summary>
        private void RefactorMethods(FilteredTypeMembers methods, string oldName, string newName)
        {
            // Do this for all member extensions wrapping methods.
            foreach (CodeTypeMemberExtension memberExtension in methods)
            {
                // Get a reference to the underlying CodeMemberMethod object.
                CodeMemberMethod method = (CodeMemberMethod)memberExtension.ExtendedObject;
                // Update the parameters types.
                RefactorMethodParameterReferences(method.Parameters, oldName, newName);       
                // Do we have a return type?
                if (method.ReturnType != null)
                {
                    // Update the return type if necessary.
                    RefactorCodeTypeReference(method.ReturnType, oldName, newName);
                }
                // Update method attributes.
                RefactorCodeTypeReferencesInAttributes(method.CustomAttributes, oldName, newName);
                // Update the statements.
                RefactorCodeStatements(method.Statements, oldName, newName);
            }
        }

        private void RefactorMethodParameterReferences(CodeParameterDeclarationExpressionCollection parameters, string oldName, string newName)
        {
            foreach (CodeParameterDeclarationExpression parameter in parameters)
            {
                RefactorCodeTypeReference(parameter.Type, oldName, newName);
                RefactorCodeTypeReferencesInAttributes(parameter.CustomAttributes, oldName, newName);
            }
        }

		protected override bool WriteMasterProjectFile(ProjectFile UBTProject)
		{
			string SolutionFileName = MasterProjectName + SolutionExtension;
			string CodeCompletionFile = MasterProjectName + CodeCompletionFileName;
			string CodeCompletionPreProcessorFile = MasterProjectName + CodeCompletionPreProcessorFileName;

			string FullCodeLiteMasterFile = Path.Combine(MasterProjectPath.FullName, SolutionFileName);
			string FullCodeLiteCodeCompletionFile = Path.Combine(MasterProjectPath.FullName, CodeCompletionFile);
			string FullCodeLiteCodeCompletionPreProcessorFile = Path.Combine(MasterProjectPath.FullName, CodeCompletionPreProcessorFile);

			//
			// HACK 
			// TODO This is for now a hack. According to the original submitter, Eranif (a CodeLite developer) will support code completion folders in *.workspace files.
			// We create a separate file with all the folder name in it to copy manually into the code completion
			// filed of CodeLite workspace. (Workspace Settings/Code Completion -> copy the content of the file threre.)
			List<string> IncludeDirectories = new List<string>();
			List<string> PreProcessor = new List<string>();

			foreach (ProjectFile CurProject in GeneratedProjectFiles)
			{
				CodeLiteProject Project = CurProject as CodeLiteProject;
				if (Project == null)
				{
					continue;
				}

				foreach (string CurrentPath in Project.IntelliSenseIncludeSearchPaths)
				{
					// Convert relative path into absolute.
					DirectoryReference IntelliSenseIncludeSearchPath = DirectoryReference.Combine(Project.ProjectFilePath.Directory, CurrentPath);
					IncludeDirectories.Add(IntelliSenseIncludeSearchPath.FullName);
				}
				foreach (string CurrentPath in Project.IntelliSenseSystemIncludeSearchPaths)
				{
					// Convert relative path into absolute.
					DirectoryReference IntelliSenseSystemIncludeSearchPath = DirectoryReference.Combine(Project.ProjectFilePath.Directory, CurrentPath);
					IncludeDirectories.Add(IntelliSenseSystemIncludeSearchPath.FullName);
				}

				foreach (string CurDef in Project.IntelliSensePreprocessorDefinitions)
				{
					if (!PreProcessor.Contains(CurDef))
					{
						PreProcessor.Add(CurDef);
					}
				}

			}

			//
			// Write code completions data into files.
			//
			File.WriteAllLines(FullCodeLiteCodeCompletionFile, IncludeDirectories);
			File.WriteAllLines(FullCodeLiteCodeCompletionPreProcessorFile, PreProcessor);

			//
			// Write CodeLites Workspace
			//
			XmlWriterSettings settings = new XmlWriterSettings();
			settings.Indent = true;

			XElement CodeLiteWorkspace = new XElement("CodeLite_Workspace");
			XAttribute CodeLiteWorkspaceName = new XAttribute("Name", MasterProjectName);
			XAttribute CodeLiteWorkspaceSWTLW = new XAttribute("SWTLW", "Yes"); // This flag will only work in CodeLite version > 8.0. See below
			CodeLiteWorkspace.Add(CodeLiteWorkspaceName);
			CodeLiteWorkspace.Add(CodeLiteWorkspaceSWTLW);

			//
			// ATTN This part will work for the next release of CodeLite. That may
			// be CodeLite version > 8.0. CodeLite 8.0 does not have this functionality.
			// TODO Macros are ignored for now.
			//
			// Write Code Completion folders into the WorkspaceParserPaths section.
			//
			XElement CodeLiteWorkspaceParserPaths = new XElement("WorkspaceParserPaths");
			foreach (string CurrentPath in IncludeDirectories)
			{
				XElement CodeLiteWorkspaceParserPathInclude = new XElement("Include");
				XAttribute CodeLiteWorkspaceParserPath = new XAttribute("Path", CurrentPath);
				CodeLiteWorkspaceParserPathInclude.Add(CodeLiteWorkspaceParserPath);
				CodeLiteWorkspaceParserPaths.Add(CodeLiteWorkspaceParserPathInclude);

			}
			CodeLiteWorkspace.Add(CodeLiteWorkspaceParserPaths);

			//
			// Write project file information into CodeLite's workspace file.
			//
			XElement CodeLiteWorkspaceTargetEngine = null;
			XElement CodeLiteWorkspaceTargetPrograms = null;
			XElement CodeLiteWorkspaceTargetGame = null;

			foreach (ProjectFile CurProject in AllProjectFiles)
			{
				string ProjectExtension = CurProject.ProjectFilePath.GetExtension();

				//
				// TODO For now ignore C# project files.
				//
				if (ProjectExtension == ".csproj")
				{
					continue;
				}

				//
				// Iterate through all targets.
				//
				foreach (ProjectTarget CurrentTarget in CurProject.ProjectTargets)
				{
					string[] tmp = CurrentTarget.ToString().Split('.');
					string ProjectTargetFileName = CurProject.ProjectFilePath.Directory.MakeRelativeTo(MasterProjectPath) + "/" + tmp[0] + ProjectExtension;
					String ProjectName = tmp[0];


					XElement CodeLiteWorkspaceProject = new XElement("Project");
					XAttribute CodeLiteWorkspaceProjectName = new XAttribute("Name", ProjectName);
					XAttribute CodeLiteWorkspaceProjectPath = new XAttribute("Path", ProjectTargetFileName);
					XAttribute CodeLiteWorkspaceProjectActive = new XAttribute("Active", "No");
					CodeLiteWorkspaceProject.Add(CodeLiteWorkspaceProjectName);
					CodeLiteWorkspaceProject.Add(CodeLiteWorkspaceProjectPath);
					CodeLiteWorkspaceProject.Add(CodeLiteWorkspaceProjectActive);

					//
					// For CodeLite 10 we can use virtual folder to group projects.
					//
					if (ProjectFileFormat == CodeliteProjectFileFormat.CodeLite10)
					{
						if ((CurrentTarget.TargetRules.Type == TargetType.Client) ||
						    (CurrentTarget.TargetRules.Type == TargetType.Server) ||
						    (CurrentTarget.TargetRules.Type == TargetType.Editor) ||
						    (CurrentTarget.TargetRules.Type == TargetType.Game))
						{
							if (ProjectName.Equals("UE4Client") ||
								ProjectName.Equals("UE4Server") ||
								ProjectName.Equals("UE4Game") ||
								ProjectName.Equals("UE4Editor"))
							{
								if (CodeLiteWorkspaceTargetEngine == null)
								{
									CodeLiteWorkspaceTargetEngine = new XElement("VirtualDirectory");
									XAttribute CodeLiteWorkspaceTargetEngineName = new XAttribute("Name", "Engine");
									CodeLiteWorkspaceTargetEngine.Add(CodeLiteWorkspaceTargetEngineName);
								}
								CodeLiteWorkspaceTargetEngine.Add(CodeLiteWorkspaceProject);
							}
							else
							{
								if (CodeLiteWorkspaceTargetGame == null)
								{
									CodeLiteWorkspaceTargetGame = new XElement("VirtualDirectory");
									XAttribute CodeLiteWorkspaceTargetGameName = new XAttribute("Name", "Game");
									CodeLiteWorkspaceTargetGame.Add(CodeLiteWorkspaceTargetGameName);
								}
								CodeLiteWorkspaceTargetGame.Add(CodeLiteWorkspaceProject);
							}
						}
						else if (CurrentTarget.TargetRules.Type == TargetType.Program)
						{
							if (CodeLiteWorkspaceTargetPrograms == null)
							{
								CodeLiteWorkspaceTargetPrograms = new XElement("VirtualDirectory");
								XAttribute CodeLiteWorkspaceTargetProgramsName = new XAttribute("Name", "Programs");
								CodeLiteWorkspaceTargetPrograms.Add(CodeLiteWorkspaceTargetProgramsName);
							}
							CodeLiteWorkspaceTargetPrograms.Add(CodeLiteWorkspaceProject);
						}
					}
					else if (ProjectFileFormat == CodeliteProjectFileFormat.CodeLite9)
					{
						CodeLiteWorkspace.Add(CodeLiteWorkspaceProject);
					}
				}
			}
			if (ProjectFileFormat == CodeliteProjectFileFormat.CodeLite10)
			{
				
				if (CodeLiteWorkspaceTargetEngine != null)
				{
					CodeLiteWorkspace.Add(CodeLiteWorkspaceTargetEngine);
				}
				if (CodeLiteWorkspaceTargetPrograms != null)
				{
					CodeLiteWorkspace.Add(CodeLiteWorkspaceTargetPrograms);
				}
				if (CodeLiteWorkspaceTargetGame != null)
				{
					CodeLiteWorkspace.Add(CodeLiteWorkspaceTargetGame);
				}
			}
			//
			// We need to create the configuration matrix. That will assign the project configuration to 
			// the samge workspace configuration.
			//
			XElement CodeLiteWorkspaceBuildMatrix = new XElement("BuildMatrix");
			foreach (UnrealTargetConfiguration CurConfiguration in SupportedConfigurations)
			{
				if (InstalledPlatformInfo.IsValidConfiguration(CurConfiguration, EProjectType.Code))
				{
					XElement CodeLiteWorkspaceBuildMatrixConfiguration = new XElement("WorkspaceConfiguration");
					XAttribute CodeLiteWorkspaceProjectName = new XAttribute("Name", CurConfiguration.ToString());
					XAttribute CodeLiteWorkspaceProjectSelected = new XAttribute("Selected", "no");
					CodeLiteWorkspaceBuildMatrixConfiguration.Add(CodeLiteWorkspaceProjectName);
					CodeLiteWorkspaceBuildMatrixConfiguration.Add(CodeLiteWorkspaceProjectSelected);

					foreach (ProjectFile CurProject in AllProjectFiles)
					{
						string ProjectExtension = CurProject.ProjectFilePath.GetExtension();

						//
						// TODO For now ignore C# project files.
						//
						if (ProjectExtension == ".csproj")
						{
							continue;
						}

						foreach (ProjectTarget target in CurProject.ProjectTargets)
						{
							string[] tmp = target.ToString().Split('.');
							String ProjectName = tmp[0];

							XElement CodeLiteWorkspaceBuildMatrixConfigurationProject = new XElement("Project");
							XAttribute CodeLiteWorkspaceBuildMatrixConfigurationProjectName = new XAttribute("Name", ProjectName);
							XAttribute CodeLiteWorkspaceBuildMatrixConfigurationProjectConfigName = new XAttribute("ConfigName", CurConfiguration.ToString());
							CodeLiteWorkspaceBuildMatrixConfigurationProject.Add(CodeLiteWorkspaceBuildMatrixConfigurationProjectName);
							CodeLiteWorkspaceBuildMatrixConfigurationProject.Add(CodeLiteWorkspaceBuildMatrixConfigurationProjectConfigName);
							CodeLiteWorkspaceBuildMatrixConfiguration.Add(CodeLiteWorkspaceBuildMatrixConfigurationProject);
						}
					}
					CodeLiteWorkspaceBuildMatrix.Add(CodeLiteWorkspaceBuildMatrixConfiguration);
				}
			}

			CodeLiteWorkspace.Add(CodeLiteWorkspaceBuildMatrix);
			CodeLiteWorkspace.Save(FullCodeLiteMasterFile);

			return true;
		}

		protected override ProjectFile AllocateProjectFile(FileReference InitFilePath)
		{
			return new CodeLiteProject(InitFilePath, OnlyGameProject);
		}

		public override MasterProjectFolder AllocateMasterProjectFolder(ProjectFileGenerator InitOwnerProjectFileGenerator, string InitFolderName)
		{
			return new CodeLiteFolder(InitOwnerProjectFileGenerator, InitFolderName);
		}

		public override void CleanProjectFiles(DirectoryReference InMasterProjectDirectory, string InMasterProjectName, DirectoryReference InIntermediateProjectFilesDirectory)
		{
			// TODO Delete all files here. Not finished yet.
			string SolutionFileName = InMasterProjectName + SolutionExtension;
			string CodeCompletionFile = InMasterProjectName + CodeCompletionFileName;
			string CodeCompletionPreProcessorFile = InMasterProjectName + CodeCompletionPreProcessorFileName;

			FileReference FullCodeLiteMasterFile = FileReference.Combine(InMasterProjectDirectory, SolutionFileName);
			FileReference FullCodeLiteCodeCompletionFile = FileReference.Combine(InMasterProjectDirectory, CodeCompletionFile);
			FileReference FullCodeLiteCodeCompletionPreProcessorFile = FileReference.Combine(InMasterProjectDirectory, CodeCompletionPreProcessorFile);

			if (FileReference.Exists(FullCodeLiteMasterFile))
			{
				FileReference.Delete(FullCodeLiteMasterFile);
			}
			if (FileReference.Exists(FullCodeLiteCodeCompletionFile))
			{
				FileReference.Delete(FullCodeLiteCodeCompletionFile);
			}
			if (FileReference.Exists(FullCodeLiteCodeCompletionPreProcessorFile))
			{
				FileReference.Delete(FullCodeLiteCodeCompletionPreProcessorFile);
			}

			// Delete the project files folder
			if (DirectoryReference.Exists(InIntermediateProjectFilesDirectory))
			{
				try
				{
					Directory.Delete(InIntermediateProjectFilesDirectory.FullName, true);
				}
				catch (Exception Ex)
				{
					Log.TraceInformation("Error while trying to clean project files path {0}. Ignored.", InIntermediateProjectFilesDirectory);
					Log.TraceInformation("\t" + Ex.Message);
				}
			}
		}

		internal static InstructionFieldUsage GetFieldUsage(this OpCode op)
		{
			switch (op)
			{
				case OpCode.TblInitN:
				case OpCode.Scalar:
				case OpCode.IterUpd:
				case OpCode.IterPrep:
				case OpCode.NewTable:
				case OpCode.Concat:
				case OpCode.LessEq:
				case OpCode.Less:
				case OpCode.Eq:
				case OpCode.Add:
				case OpCode.Sub:
				case OpCode.Mul:
				case OpCode.Div:
				case OpCode.Mod:
				case OpCode.Not:
				case OpCode.Len:
				case OpCode.Neg:
				case OpCode.Power:
				case OpCode.CNot:
				case OpCode.ToBool:
					return InstructionFieldUsage.None;
				case OpCode.Pop:
				case OpCode.Copy:
				case OpCode.TblInitI:
				case OpCode.ExpTuple:
				case OpCode.Incr:
				case OpCode.ToNum:
				case OpCode.Ret:
				case OpCode.MkTuple:
					return InstructionFieldUsage.NumVal;
				case OpCode.Jump:
				case OpCode.Jf:
				case OpCode.JNil:
				case OpCode.JFor:
				case OpCode.JtOrPop:
				case OpCode.JfOrPop:
					return InstructionFieldUsage.NumValAsCodeAddress;
				case OpCode.Swap:
				case OpCode.Clean:
					return InstructionFieldUsage.NumVal | InstructionFieldUsage.NumVal2;
				case OpCode.Local:
				case OpCode.Upvalue:
					return InstructionFieldUsage.Symbol;
				case OpCode.IndexSet:
				case OpCode.IndexSetN:
				case OpCode.IndexSetL:
					return InstructionFieldUsage.Symbol | InstructionFieldUsage.Value | InstructionFieldUsage.NumVal | InstructionFieldUsage.NumVal2;
				case OpCode.StoreLcl:
				case OpCode.StoreUpv:
					return InstructionFieldUsage.Symbol | InstructionFieldUsage.NumVal | InstructionFieldUsage.NumVal2;
				case OpCode.Index:
				case OpCode.IndexL:
				case OpCode.IndexN:
				case OpCode.Literal:
					return InstructionFieldUsage.Value;
				case OpCode.Args:
					return InstructionFieldUsage.SymbolList;
				case OpCode.BeginFn:
					return InstructionFieldUsage.SymbolList | InstructionFieldUsage.NumVal | InstructionFieldUsage.NumVal2;
				case OpCode.Closure:
					return InstructionFieldUsage.SymbolList | InstructionFieldUsage.NumVal;
				case OpCode.Nop:
				case OpCode.Debug:
				case OpCode.Invalid:
					return InstructionFieldUsage.Name;
				case OpCode.Call:
				case OpCode.ThisCall:
					return InstructionFieldUsage.NumVal | InstructionFieldUsage.Name;
				case OpCode.Meta:
					return InstructionFieldUsage.NumVal | InstructionFieldUsage.NumVal2 | InstructionFieldUsage.Value | InstructionFieldUsage.Name;
				default:
					throw new NotImplementedException(string.Format("InstructionFieldUsage for instruction {0}", (int)op));
			}
		}

// Permission is hereby granted, free of charge, to any person obtaining
// a copy of this software and associated documentation files (the
// "Software"), to deal in the Software without restriction, including
// without limitation the rights to use, copy, modify, merge, publish,
// distribute, sublicense, and/or sell copies of the Software, and to
// permit persons to whom the Software is furnished to do so, subject to
// the following conditions:
// 
// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.
// 
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
//
// Copyright (c) 2005 Novell, Inc. (http://www.novell.com)
//
// Authors:
//	Peter Bartok	([email protected])
//
//

// COMPLETE

using System.Collections;

namespace System.Windows.Forms.RTF {
	internal class Charcode {
		#region Local Variables
		private StandardCharCode[]	codes;
		private Hashtable		reverse;
		private int			size;
		#endregion	// Local Variables
		
		#region Cached Values
		static Charcode ansi_generic;
		#endregion

		#region Public Constructors
		public Charcode() : this(256) {
		}

		private Charcode(int size) {
			this.size = size;
			this.codes = new StandardCharCode[size];
			this.reverse = new Hashtable(size);

			// No need to reinitialize array to its default value
			//for (int i = 0; i < size; i++) {
			//	codes[i] = StandardCharCode.nothing;
			//}
		}
		#endregion	// Public Constructors

		#region Public Instance Properties
		public int this[StandardCharCode c] {
			get {
				object obj;

				obj = reverse[c];
				if (obj != null) {
					return (int)obj;
				}
				for (int i = 0; i < size; i++) {
					if (codes[i] == c) {
						return i;
					}
				}

				return -1;
			}
		}

		public StandardCharCode this[int c] {
			get {
				if (c < 0 || c >= size) {
					return StandardCharCode.nothing;
				}

				return codes[c];
			}

			private set {
				if (c < 0 || c >= size) {
					return;
				}

				codes[c] = value;
				reverse[value] = c;
			}
		}
		#endregion	// Public Instance Properties

		#region Public Instance Methods
		#endregion	// Public Instance Methods

		#region Public Static Methods
		public static Charcode AnsiGeneric {
			get {
				if (ansi_generic != null)
					return ansi_generic;
					
				ansi_generic = new Charcode(256);

				ansi_generic[0x06] = StandardCharCode.formula;
				ansi_generic[0x1e] =  StandardCharCode.nobrkhyphen;
				ansi_generic[0x1f] = StandardCharCode.opthyphen;
				ansi_generic[' '] = StandardCharCode.space;
				ansi_generic['!'] = StandardCharCode.exclam;
				ansi_generic['"'] = StandardCharCode.quotedbl;
				ansi_generic['#'] = StandardCharCode.numbersign;
				ansi_generic['$'] = StandardCharCode.dollar;
				ansi_generic['%'] = StandardCharCode.percent;
				ansi_generic['&'] = StandardCharCode.ampersand;
				ansi_generic['\\'] = StandardCharCode.quoteright;
				ansi_generic['('] = StandardCharCode.parenleft;
				ansi_generic[')'] = StandardCharCode.parenright;
				ansi_generic['*'] = StandardCharCode.asterisk;
				ansi_generic['+'] = StandardCharCode.plus;
				ansi_generic[','] = StandardCharCode.comma;
				ansi_generic['-'] = StandardCharCode.hyphen;
				ansi_generic['.'] = StandardCharCode.period;
				ansi_generic['/'] = StandardCharCode.slash;
				ansi_generic['0'] = StandardCharCode.zero;
				ansi_generic['1'] = StandardCharCode.one;
				ansi_generic['2'] = StandardCharCode.two;
				ansi_generic['3'] = StandardCharCode.three;
				ansi_generic['4'] = StandardCharCode.four;
				ansi_generic['5'] = StandardCharCode.five;
				ansi_generic['6'] = StandardCharCode.six;
				ansi_generic['7'] = StandardCharCode.seven;
				ansi_generic['8'] = StandardCharCode.eight;
				ansi_generic['9'] = StandardCharCode.nine;
				ansi_generic[':'] = StandardCharCode.colon;
				ansi_generic[';'] = StandardCharCode.semicolon;
				ansi_generic['<'] = StandardCharCode.less;
				ansi_generic['='] = StandardCharCode.equal;
				ansi_generic['>'] = StandardCharCode.greater;
				ansi_generic['?'] = StandardCharCode.question;
				ansi_generic['@'] = StandardCharCode.at;
				ansi_generic['A'] = StandardCharCode.A;
				ansi_generic['B'] = StandardCharCode.B;
				ansi_generic['C'] = StandardCharCode.C;
				ansi_generic['D'] = StandardCharCode.D;
				ansi_generic['E'] = StandardCharCode.E;
				ansi_generic['F'] = StandardCharCode.F;
				ansi_generic['G'] = StandardCharCode.G;
				ansi_generic['H'] = StandardCharCode.H;
				ansi_generic['I'] = StandardCharCode.I;
				ansi_generic['J'] = StandardCharCode.J;
				ansi_generic['K'] = StandardCharCode.K;
				ansi_generic['L'] = StandardCharCode.L;
				ansi_generic['M'] = StandardCharCode.M;
				ansi_generic['N'] = StandardCharCode.N;
				ansi_generic['O'] = StandardCharCode.O;
				ansi_generic['P'] = StandardCharCode.P;
				ansi_generic['Q'] = StandardCharCode.Q;
				ansi_generic['R'] = StandardCharCode.R;
				ansi_generic['S'] = StandardCharCode.S;
				ansi_generic['T'] = StandardCharCode.T;
				ansi_generic['U'] = StandardCharCode.U;
				ansi_generic['V'] = StandardCharCode.V;
				ansi_generic['W'] = StandardCharCode.W;
				ansi_generic['X'] = StandardCharCode.X;
				ansi_generic['Y'] = StandardCharCode.Y;
				ansi_generic['Z'] = StandardCharCode.Z;
				ansi_generic['['] = StandardCharCode.bracketleft;
				ansi_generic['\\'] = StandardCharCode.backslash;
				ansi_generic[']'] = StandardCharCode.bracketright;
				ansi_generic['^'] = StandardCharCode.asciicircum;
				ansi_generic['_'] = StandardCharCode.underscore;
				ansi_generic['`'] = StandardCharCode.quoteleft;
				ansi_generic['a'] = StandardCharCode.a;
				ansi_generic['b'] = StandardCharCode.b;
				ansi_generic['c'] = StandardCharCode.c;
				ansi_generic['d'] = StandardCharCode.d;
				ansi_generic['e'] = StandardCharCode.e;
				ansi_generic['f'] = StandardCharCode.f;
				ansi_generic['g'] = StandardCharCode.g;
				ansi_generic['h'] = StandardCharCode.h;
				ansi_generic['i'] = StandardCharCode.i;
				ansi_generic['j'] = StandardCharCode.j;
				ansi_generic['k'] = StandardCharCode.k;
				ansi_generic['l'] = StandardCharCode.l;
				ansi_generic['m'] = StandardCharCode.m;
				ansi_generic['n'] = StandardCharCode.n;
				ansi_generic['o'] = StandardCharCode.o;
				ansi_generic['p'] = StandardCharCode.p;
				ansi_generic['q'] = StandardCharCode.q;
				ansi_generic['r'] = StandardCharCode.r;
				ansi_generic['s'] = StandardCharCode.s;
				ansi_generic['t'] = StandardCharCode.t;
				ansi_generic['u'] = StandardCharCode.u;
				ansi_generic['v'] = StandardCharCode.v;
				ansi_generic['w'] = StandardCharCode.w;
				ansi_generic['x'] = StandardCharCode.x;
				ansi_generic['y'] = StandardCharCode.y;
				ansi_generic['z'] = StandardCharCode.z;
				ansi_generic['{'] = StandardCharCode.braceleft;
				ansi_generic['|'] = StandardCharCode.bar;
				ansi_generic['}'] = StandardCharCode.braceright;
				ansi_generic['~'] = StandardCharCode.asciitilde;
				ansi_generic[0xa0] = StandardCharCode.nobrkspace;
				ansi_generic[0xa1] = StandardCharCode.exclamdown;
				ansi_generic[0xa2] = StandardCharCode.cent;
				ansi_generic[0xa3] = StandardCharCode.sterling;
				ansi_generic[0xa4] = StandardCharCode.currency;
				ansi_generic[0xa5] = StandardCharCode.yen;
				ansi_generic[0xa6] = StandardCharCode.brokenbar;
				ansi_generic[0xa7] = StandardCharCode.section;
				ansi_generic[0xa8] = StandardCharCode.dieresis;
				ansi_generic[0xa9] = StandardCharCode.copyright;
				ansi_generic[0xaa] = StandardCharCode.ordfeminine;
				ansi_generic[0xab] = StandardCharCode.guillemotleft;
				ansi_generic[0xac] = StandardCharCode.logicalnot;
				ansi_generic[0xad] = StandardCharCode.opthyphen;
				ansi_generic[0xae] = StandardCharCode.registered;
				ansi_generic[0xaf] = StandardCharCode.macron;
				ansi_generic[0xb0] = StandardCharCode.degree;
				ansi_generic[0xb1] = StandardCharCode.plusminus;
				ansi_generic[0xb2] = StandardCharCode.twosuperior;
				ansi_generic[0xb3] = StandardCharCode.threesuperior;
				ansi_generic[0xb4] = StandardCharCode.acute;
				ansi_generic[0xb5] = StandardCharCode.mu;
				ansi_generic[0xb6] = StandardCharCode.paragraph;
				ansi_generic[0xb7] = StandardCharCode.periodcentered;
				ansi_generic[0xb8] = StandardCharCode.cedilla;
				ansi_generic[0xb9] = StandardCharCode.onesuperior;
				ansi_generic[0xba] = StandardCharCode.ordmasculine;
				ansi_generic[0xbb] = StandardCharCode.guillemotright;
				ansi_generic[0xbc] = StandardCharCode.onequarter;
				ansi_generic[0xbd] = StandardCharCode.onehalf;
				ansi_generic[0xbe] = StandardCharCode.threequarters;
				ansi_generic[0xbf] = StandardCharCode.questiondown;
				ansi_generic[0xc0] = StandardCharCode.Agrave;
				ansi_generic[0xc1] = StandardCharCode.Aacute;
				ansi_generic[0xc2] = StandardCharCode.Acircumflex;
				ansi_generic[0xc3] = StandardCharCode.Atilde;
				ansi_generic[0xc4] = StandardCharCode.Adieresis;
				ansi_generic[0xc5] = StandardCharCode.Aring;
				ansi_generic[0xc6] = StandardCharCode.AE;
				ansi_generic[0xc7] = StandardCharCode.Ccedilla;
				ansi_generic[0xc8] = StandardCharCode.Egrave;
				ansi_generic[0xc9] = StandardCharCode.Eacute;
				ansi_generic[0xca] = StandardCharCode.Ecircumflex;
				ansi_generic[0xcb] = StandardCharCode.Edieresis;
				ansi_generic[0xcc] = StandardCharCode.Igrave;
				ansi_generic[0xcd] = StandardCharCode.Iacute;
				ansi_generic[0xce] = StandardCharCode.Icircumflex;
				ansi_generic[0xcf] = StandardCharCode.Idieresis;
				ansi_generic[0xd0] = StandardCharCode.Eth;
				ansi_generic[0xd1] = StandardCharCode.Ntilde;
				ansi_generic[0xd2] = StandardCharCode.Ograve;
				ansi_generic[0xd3] = StandardCharCode.Oacute;
				ansi_generic[0xd4] = StandardCharCode.Ocircumflex;
				ansi_generic[0xd5] = StandardCharCode.Otilde;
				ansi_generic[0xd6] = StandardCharCode.Odieresis;
				ansi_generic[0xd7] = StandardCharCode.multiply;
				ansi_generic[0xd8] = StandardCharCode.Oslash;
				ansi_generic[0xd9] = StandardCharCode.Ugrave;
				ansi_generic[0xda] = StandardCharCode.Uacute;
				ansi_generic[0xdb] = StandardCharCode.Ucircumflex;
				ansi_generic[0xdc] = StandardCharCode.Udieresis;
				ansi_generic[0xdd] = StandardCharCode.Yacute;
				ansi_generic[0xde] = StandardCharCode.Thorn;
				ansi_generic[0xdf] = StandardCharCode.germandbls;
				ansi_generic[0xe0] = StandardCharCode.agrave;
				ansi_generic[0xe1] = StandardCharCode.aacute;
				ansi_generic[0xe2] = StandardCharCode.acircumflex;
				ansi_generic[0xe3] = StandardCharCode.atilde;
				ansi_generic[0xe4] = StandardCharCode.adieresis;
				ansi_generic[0xe5] = StandardCharCode.aring;
				ansi_generic[0xe6] = StandardCharCode.ae;
				ansi_generic[0xe7] = StandardCharCode.ccedilla;
				ansi_generic[0xe8] = StandardCharCode.egrave;
				ansi_generic[0xe9] = StandardCharCode.eacute;
				ansi_generic[0xea] = StandardCharCode.ecircumflex;
				ansi_generic[0xeb] = StandardCharCode.edieresis;
				ansi_generic[0xec] = StandardCharCode.igrave;
				ansi_generic[0xed] = StandardCharCode.iacute;
				ansi_generic[0xee] = StandardCharCode.icircumflex;
				ansi_generic[0xef] = StandardCharCode.idieresis;
				ansi_generic[0xf0] = StandardCharCode.eth;
				ansi_generic[0xf1] = StandardCharCode.ntilde;
				ansi_generic[0xf2] = StandardCharCode.ograve;
				ansi_generic[0xf3] = StandardCharCode.oacute;
				ansi_generic[0xf4] = StandardCharCode.ocircumflex;
				ansi_generic[0xf5] = StandardCharCode.otilde;
				ansi_generic[0xf6] = StandardCharCode.odieresis;
				ansi_generic[0xf7] = StandardCharCode.divide;
				ansi_generic[0xf8] = StandardCharCode.oslash;
				ansi_generic[0xf9] = StandardCharCode.ugrave;
				ansi_generic[0xfa] = StandardCharCode.uacute;
				ansi_generic[0xfb] = StandardCharCode.ucircumflex;
				ansi_generic[0xfc] = StandardCharCode.udieresis;
				ansi_generic[0xfd] = StandardCharCode.yacute;
				ansi_generic[0xfe] = StandardCharCode.thorn;
				ansi_generic[0xff] = StandardCharCode.ydieresis;

				return ansi_generic;
			}
		}

		public static Charcode AnsiSymbol {
			get {
				Charcode code = new Charcode(256);

				code[0x06] = StandardCharCode.formula;
				code[0x1e] = StandardCharCode.nobrkhyphen;
				code[0x1f] = StandardCharCode.opthyphen;
				code[' '] = StandardCharCode.space;
				code['!'] = StandardCharCode.exclam;
				code['"'] = StandardCharCode.universal;
				code['#'] = StandardCharCode.mathnumbersign;
				code['$'] = StandardCharCode.existential;
				code['%'] = StandardCharCode.percent;
				code['&'] = StandardCharCode.ampersand;
				code['\\'] = StandardCharCode.suchthat;
				code['('] = StandardCharCode.parenleft;
				code[')'] = StandardCharCode.parenright;
				code['*'] = StandardCharCode.mathasterisk;
				code['+'] = StandardCharCode.mathplus;
				code[','] = StandardCharCode.comma;
				code['-'] = StandardCharCode.mathminus;
				code['.'] = StandardCharCode.period;
				code['/'] = StandardCharCode.slash;
				code['0'] = StandardCharCode.zero;
				code['1'] = StandardCharCode.one;
				code['2'] = StandardCharCode.two;
				code['3'] = StandardCharCode.three;
				code['4'] = StandardCharCode.four;
				code['5'] = StandardCharCode.five;
				code['6'] = StandardCharCode.six;
				code['7'] = StandardCharCode.seven;
				code['8'] = StandardCharCode.eight;
				code['9'] = StandardCharCode.nine;
				code[':'] = StandardCharCode.colon;
				code[';'] = StandardCharCode.semicolon;
				code['<'] = StandardCharCode.less;
				code['='] = StandardCharCode.mathequal;
				code['>'] = StandardCharCode.greater;
				code['?'] = StandardCharCode.question;
				code['@'] = StandardCharCode.congruent;
				code['A'] = StandardCharCode.Alpha;
				code['B'] = StandardCharCode.Beta;
				code['C'] = StandardCharCode.Chi;
				code['D'] = StandardCharCode.Delta;
				code['E'] = StandardCharCode.Epsilon;
				code['F'] = StandardCharCode.Phi;
				code['G'] = StandardCharCode.Gamma;
				code['H'] = StandardCharCode.Eta;
				code['I'] = StandardCharCode.Iota;
				code['K'] = StandardCharCode.Kappa;
				code['L'] = StandardCharCode.Lambda;
				code['M'] = StandardCharCode.Mu;
				code['N'] = StandardCharCode.Nu;
				code['O'] = StandardCharCode.Omicron;
				code['P'] = StandardCharCode.Pi;
				code['Q'] = StandardCharCode.Theta;
				code['R'] = StandardCharCode.Rho;
				code['S'] = StandardCharCode.Sigma;
				code['T'] = StandardCharCode.Tau;
				code['U'] = StandardCharCode.Upsilon;
				code['V'] = StandardCharCode.varsigma;
				code['W'] = StandardCharCode.Omega;
				code['X'] = StandardCharCode.Xi;
				code['Y'] = StandardCharCode.Psi;
				code['Z'] = StandardCharCode.Zeta;
				code['['] = StandardCharCode.bracketleft;
				code['\\'] = StandardCharCode.backslash;
				code[']'] = StandardCharCode.bracketright;
				code['^'] = StandardCharCode.asciicircum;
				code['_'] = StandardCharCode.underscore;
				code['`'] = StandardCharCode.quoteleft;
				code['a'] = StandardCharCode.alpha;
				code['b'] = StandardCharCode.beta;
				code['c'] = StandardCharCode.chi;
				code['d'] = StandardCharCode.delta;
				code['e'] = StandardCharCode.epsilon;
				code['f'] = StandardCharCode.phi;
				code['g'] = StandardCharCode.gamma;
				code['h'] = StandardCharCode.eta;
				code['i'] = StandardCharCode.iota;
				code['k'] = StandardCharCode.kappa;
				code['l'] = StandardCharCode.lambda;
				code['m'] = StandardCharCode.mu;
				code['n'] = StandardCharCode.nu;
				code['o'] = StandardCharCode.omicron;
				code['p'] = StandardCharCode.pi;
				code['q'] = StandardCharCode.theta;
				code['r'] = StandardCharCode.rho;
				code['s'] = StandardCharCode.sigma;
				code['t'] = StandardCharCode.tau;
				code['u'] = StandardCharCode.upsilon;
				code['w'] = StandardCharCode.omega;
				code['x'] = StandardCharCode.xi;
				code['y'] = StandardCharCode.psi;
				code['z'] = StandardCharCode.zeta;
				code['{'] = StandardCharCode.braceleft;
				code['|'] = StandardCharCode.bar;
				code['}'] = StandardCharCode.braceright;
				code['~'] = StandardCharCode.mathtilde;

				return code;
			}
		}
		#endregion	// Public Static Methods
	}
}


    private static void AddMethodImpl(CodeMemberMethod method)
    {
        CodeMethodInvokeExpression expression = new CodeMethodInvokeExpression(GetChannelReference(), method.Name, new CodeExpression[0]);
        foreach (CodeParameterDeclarationExpression expression2 in method.Parameters)
        {
            expression.Parameters.Add(new CodeDirectionExpression(expression2.Direction, new CodeVariableReferenceExpression(expression2.Name)));
        }
        if (IsVoid(method))
        {
            method.Statements.Add(expression);
        }
        else
        {
            method.Statements.Add(new CodeMethodReturnStatement(expression));
        }
    }

    private static CodeMemberField CreateBeginOperationDelegate(ServiceContractGenerationContext context, CodeTypeDeclaration clientType, string syncMethodName)
    {
        CodeMemberField field = new CodeMemberField();
        field.Attributes = MemberAttributes.Private;
        field.Type = new CodeTypeReference(beginOperationDelegateTypeName);
        field.Name = NamingHelper.GetUniqueName(GetBeginOperationDelegateName(syncMethodName), new NamingHelper.DoesNameExist(ClientClassGenerator.DoesMethodNameExist), context.Operations);
        clientType.Members.Add(field);
        return field;
    }

    private static CodeMemberMethod CreateBeginOperationMethod(ServiceContractGenerationContext context, CodeTypeDeclaration clientType, string syncMethodName, CodeMemberMethod beginMethod)
    {
        CodeMemberMethod method = new CodeMemberMethod();
        method.Attributes = MemberAttributes.Private;
        method.ReturnType = new CodeTypeReference(asyncResultType);
        method.Name = NamingHelper.GetUniqueName(GetBeginOperationMethodName(syncMethodName), new NamingHelper.DoesNameExist(ClientClassGenerator.DoesMethodNameExist), context.Operations);
        CodeParameterDeclarationExpression expression = new CodeParameterDeclarationExpression();
        expression.Type = new CodeTypeReference(objectArrayType);
        expression.Name = NamingHelper.GetUniqueName("inValues", new NamingHelper.DoesNameExist(ClientClassGenerator.DoesParameterNameExist), beginMethod);
        method.Parameters.Add(expression);
        CodeMethodInvokeExpression expression2 = new CodeMethodInvokeExpression(new CodeThisReferenceExpression(), beginMethod.Name, new CodeExpression[0]);
        CodeExpression targetObject = new CodeVariableReferenceExpression(expression.Name);
        for (int i = 0; i < (beginMethod.Parameters.Count - 2); i++)
        {
            CodeVariableDeclarationStatement statement = new CodeVariableDeclarationStatement();
            statement.Type = beginMethod.Parameters[i].Type;
            statement.Name = beginMethod.Parameters[i].Name;
            statement.InitExpression = new CodeCastExpression(statement.Type, new CodeArrayIndexerExpression(targetObject, new CodeExpression[] { new CodePrimitiveExpression(i) }));
            method.Statements.Add(statement);
            expression2.Parameters.Add(new CodeDirectionExpression(beginMethod.Parameters[i].Direction, new CodeVariableReferenceExpression(statement.Name)));
        }
        for (int j = beginMethod.Parameters.Count - 2; j < beginMethod.Parameters.Count; j++)
        {
            method.Parameters.Add(new CodeParameterDeclarationExpression(beginMethod.Parameters[j].Type, beginMethod.Parameters[j].Name));
            expression2.Parameters.Add(new CodeVariableReferenceExpression(beginMethod.Parameters[j].Name));
        }
        method.Statements.Add(new CodeMethodReturnStatement(expression2));
        clientType.Members.Add(method);
        return method;
    }

    private static CodeStatement CreateDelegateIfNotNull(CodeMemberField delegateField, CodeMemberMethod delegateMethod)
    {
        return new CodeConditionStatement(new CodeBinaryOperatorExpression(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), delegateField.Name), CodeBinaryOperatorType.IdentityEquality, new CodePrimitiveExpression(null)), new CodeStatement[] { new CodeAssignStatement(new CodeFieldReferenceExpression(new CodeThisReferenceExpression(), delegateField.Name), new CodeDelegateCreateExpression(delegateField.Type, new CodeThisReferenceExpression(), delegateMethod.Name)) });
    }

    private static CodeAttributeDeclaration CreateEditorBrowsableAttribute(EditorBrowsableState editorBrowsableState)
    {
        CodeAttributeDeclaration declaration = new CodeAttributeDeclaration(new CodeTypeReference(typeof(EditorBrowsableAttribute)));
        CodeTypeReferenceExpression targetObject = new CodeTypeReferenceExpression(typeof(EditorBrowsableState));
        CodeAttributeArgument argument = new CodeAttributeArgument(new CodeFieldReferenceExpression(targetObject, editorBrowsableState.ToString()));
        declaration.Arguments.Add(argument);
        return declaration;
    }

    private static CodeMemberField CreateEndOperationDelegate(ServiceContractGenerationContext context, CodeTypeDeclaration clientType, string syncMethodName)
    {
        CodeMemberField field = new CodeMemberField();
        field.Attributes = MemberAttributes.Private;
        field.Type = new CodeTypeReference(endOperationDelegateTypeName);
        field.Name = NamingHelper.GetUniqueName(GetEndOperationDelegateName(syncMethodName), new NamingHelper.DoesNameExist(ClientClassGenerator.DoesMethodNameExist), context.Operations);
        clientType.Members.Add(field);
        return field;
    }

		#endregion	// Public Instance Properties

		#region Public Static Methods
		public static void SetupStandardTable(string[] table)
		{
			/*
			table[(int)StandardCharCode.space] = " ";
			table[(int)StandardCharCode.exclam] = "!";
			table[(int)StandardCharCode.quotedbl] = "\"";
			table[(int)StandardCharCode.numbersign] = "#";
			table[(int)StandardCharCode.dollar] = "$";
			table[(int)StandardCharCode.percent] = "%";
			table[(int)StandardCharCode.ampersand] = "&";
			table[(int)StandardCharCode.quoteright] = "'";
			table[(int)StandardCharCode.parenleft] = "(";
			table[(int)StandardCharCode.parenright] = ")";
			table[(int)StandardCharCode.asterisk] = "*";
			table[(int)StandardCharCode.plus] = "+";
			table[(int)StandardCharCode.comma] = ",";
			table[(int)StandardCharCode.hyphen] = "-";
			table[(int)StandardCharCode.period] = ".";
			table[(int)StandardCharCode.slash] = "/";
			table[(int)StandardCharCode.zero] = "0";
			table[(int)StandardCharCode.one] = "1";
			table[(int)StandardCharCode.two] = "2";
			table[(int)StandardCharCode.three] = "3";
			table[(int)StandardCharCode.four] = "4";
			table[(int)StandardCharCode.five] = "5";
			table[(int)StandardCharCode.six] = "6";
			table[(int)StandardCharCode.seven] = "7";
			table[(int)StandardCharCode.eight] = "8";
			table[(int)StandardCharCode.nine] = "9";
			table[(int)StandardCharCode.colon] = ":";
			table[(int)StandardCharCode.semicolon] = ";";
			table[(int)StandardCharCode.less] = "<";
			table[(int)StandardCharCode.equal] = "=";
			table[(int)StandardCharCode.greater] = ">";
			table[(int)StandardCharCode.question] = "?";
			table[(int)StandardCharCode.at] = "@";
			table[(int)StandardCharCode.A] = "A";
			table[(int)StandardCharCode.B] = "B";
			table[(int)StandardCharCode.C] = "C";
			table[(int)StandardCharCode.D] = "D";
			table[(int)StandardCharCode.E] = "E";
			table[(int)StandardCharCode.F] = "F";
			table[(int)StandardCharCode.G] = "G";
			table[(int)StandardCharCode.H] = "H";
			table[(int)StandardCharCode.I] = "I";
			table[(int)StandardCharCode.J] = "J";
			table[(int)StandardCharCode.K] = "K";
			table[(int)StandardCharCode.L] = "L";
			table[(int)StandardCharCode.M] = "M";
			table[(int)StandardCharCode.N] = "N";
			table[(int)StandardCharCode.O] = "O";
			table[(int)StandardCharCode.P] = "P";
			table[(int)StandardCharCode.Q] = "Q";
			table[(int)StandardCharCode.R] = "R";
			table[(int)StandardCharCode.S] = "S";
			table[(int)StandardCharCode.T] = "T";
			table[(int)StandardCharCode.U] = "U";
			table[(int)StandardCharCode.V] = "V";
			table[(int)StandardCharCode.W] = "W";
			table[(int)StandardCharCode.X] = "X";
			table[(int)StandardCharCode.Y] = "Y";
			table[(int)StandardCharCode.Z] = "Z";
			table[(int)StandardCharCode.bracketleft] = "[";
			table[(int)StandardCharCode.backslash] = "\\";
			table[(int)StandardCharCode.bracketright] = "]";
			table[(int)StandardCharCode.asciicircum] = "^";
			table[(int)StandardCharCode.underscore] = "_";
			table[(int)StandardCharCode.quoteleft] = "`";
			table[(int)StandardCharCode.a] = "a";
			table[(int)StandardCharCode.b] = "b";
			table[(int)StandardCharCode.c] = "c";
			table[(int)StandardCharCode.d] = "d";
			table[(int)StandardCharCode.e] = "e";
			table[(int)StandardCharCode.f] = "f";
			table[(int)StandardCharCode.g] = "g";
			table[(int)StandardCharCode.h] = "h";
			table[(int)StandardCharCode.i] = "i";
			table[(int)StandardCharCode.j] = "j";
			table[(int)StandardCharCode.k] = "k";
			table[(int)StandardCharCode.l] = "l";
			table[(int)StandardCharCode.m] = "m";
			table[(int)StandardCharCode.n] = "n";
			table[(int)StandardCharCode.o] = "o";
			table[(int)StandardCharCode.p] = "p";
			table[(int)StandardCharCode.q] = "q";
			table[(int)StandardCharCode.r] = "r";
			table[(int)StandardCharCode.s] = "s";
			table[(int)StandardCharCode.t] = "t";
			table[(int)StandardCharCode.u] = "u";
			table[(int)StandardCharCode.v] = "v";
			table[(int)StandardCharCode.w] = "w";
			table[(int)StandardCharCode.x] = "x";
			table[(int)StandardCharCode.y] = "y";
			table[(int)StandardCharCode.z] = "z";
			table[(int)StandardCharCode.braceleft] = "{";
			table[(int)StandardCharCode.bar] = "|";
			table[(int)StandardCharCode.braceright] = "}";
			table[(int)StandardCharCode.asciitilde] = "~";
			table[(int)StandardCharCode.AE] = "AE";
			table[(int)StandardCharCode.OE] = "OE";
			table[(int)StandardCharCode.acute] = "'";
			table[(int)StandardCharCode.ae] = "ae";
			table[(int)StandardCharCode.angleleft] = "<";
			table[(int)StandardCharCode.angleright] = ">";
			table[(int)StandardCharCode.arrowboth] = "<->";
			table[(int)StandardCharCode.arrowdblboth] = "<=>";
			table[(int)StandardCharCode.arrowdblleft] = "<=";
			table[(int)StandardCharCode.arrowdblright] = "=>";
			table[(int)StandardCharCode.arrowleft] = "<-";
			table[(int)StandardCharCode.arrowright] = "->";
			table[(int)StandardCharCode.bullet] = "o";
			table[(int)StandardCharCode.cent] = "cent";
			table[(int)StandardCharCode.circumflex] = "^";
			table[(int)StandardCharCode.copyright] = "(c)";
			table[(int)StandardCharCode.copyrightsans] = "(c)";
			table[(int)StandardCharCode.degree] = "deg.";
			table[(int)StandardCharCode.divide] = "/";
			table[(int)StandardCharCode.dotlessi] = "i";
			table[(int)StandardCharCode.ellipsis] = "...";
			table[(int)StandardCharCode.emdash] = "--";
			table[(int)StandardCharCode.endash] = "-";
			table[(int)StandardCharCode.fi] = "fi";
			table[(int)StandardCharCode.fl] = "fl";
			table[(int)StandardCharCode.fraction] = "/";
			table[(int)StandardCharCode.germandbls] = "ss";
			table[(int)StandardCharCode.grave] = "`";
			table[(int)StandardCharCode.greaterequal] = ">=";
			table[(int)StandardCharCode.guillemotleft] = "<<";
			table[(int)StandardCharCode.guillemotright] = ">>";
			table[(int)StandardCharCode.guilsinglleft] = "<";
			table[(int)StandardCharCode.guilsinglright] = ">";
			table[(int)StandardCharCode.lessequal] = "<=";
			table[(int)StandardCharCode.logicalnot] = "~";
			table[(int)StandardCharCode.mathasterisk] = "*";
			table[(int)StandardCharCode.mathequal] = "=";
			table[(int)StandardCharCode.mathminus] = "-";
			table[(int)StandardCharCode.mathnumbersign] = "#";
			table[(int)StandardCharCode.mathplus] = "+";
			table[(int)StandardCharCode.mathtilde] = "~";
			table[(int)StandardCharCode.minus] = "-";
			table[(int)StandardCharCode.mu] = "u";
			table[(int)StandardCharCode.multiply] = "x";
			table[(int)StandardCharCode.nobrkhyphen] = "-";
			table[(int)StandardCharCode.nobrkspace] = "";
			table[(int)StandardCharCode.notequal] = "!=";
			table[(int)StandardCharCode.oe] = "oe";
			table[(int)StandardCharCode.onehalf] = "1/2";
			table[(int)StandardCharCode.onequarter] = "1/4";
			table[(int)StandardCharCode.periodcentered] = ".";
			table[(int)StandardCharCode.plusminus] = "+/-";
			table[(int)StandardCharCode.quotedblbase] = ",,";
			table[(int)StandardCharCode.quotedblleft] = "\"";
			table[(int)StandardCharCode.quotedblright] = "\"";
			table[(int)StandardCharCode.quotesinglbase] = ",";
			table[(int)StandardCharCode.registered] = "reg.";
			table[(int)StandardCharCode.registersans] = "reg.";
			table[(int)StandardCharCode.threequarters] = "3/4";
			table[(int)StandardCharCode.tilde] = "~";
			table[(int)StandardCharCode.trademark] = "(TM)";
			table[(int)StandardCharCode.trademarksans] = "(TM)";

			table[(int)StandardCharCode.aacute] = "\xE0";
			table[(int)StandardCharCode.questiondown] = "\xBF";

			table[(int)StandardCharCode.udieresis] = "\xFC";
			table[(int)StandardCharCode.Udieresis] = "\xDC";
			table[(int)StandardCharCode.odieresis] = "\xF6";
			table[(int)StandardCharCode.Odieresis] = "\xD6";
			*/
		
			table [(int) StandardCharCode.formula] = "\x6";
			table [(int) StandardCharCode.nobrkhyphen] = "\x1e";
			table [(int) StandardCharCode.opthyphen] = "\x1f";
			table [(int) StandardCharCode.space] = " ";
			table [(int) StandardCharCode.exclam] = "!";
			table [(int) StandardCharCode.quotedbl] = "\"";
			table [(int) StandardCharCode.numbersign] = "#";
			table [(int) StandardCharCode.dollar] = "$";
			table [(int) StandardCharCode.percent] = "%";
			table [(int) StandardCharCode.ampersand] = "&";
			table [(int) StandardCharCode.parenleft] = "(";
			table [(int) StandardCharCode.parenright] = ")";
			table [(int) StandardCharCode.asterisk] = "*";
			table [(int) StandardCharCode.plus] = "+";
			table [(int) StandardCharCode.comma] = ",";
			table [(int) StandardCharCode.hyphen] = "-";
			table [(int) StandardCharCode.period] = ".";
			table [(int) StandardCharCode.slash] = "/";
			table [(int) StandardCharCode.zero] = "0";
			table [(int) StandardCharCode.one] = "1";
			table [(int) StandardCharCode.two] = "2";
			table [(int) StandardCharCode.three] = "3";
			table [(int) StandardCharCode.four] = "4";
			table [(int) StandardCharCode.five] = "5";
			table [(int) StandardCharCode.six] = "6";
			table [(int) StandardCharCode.seven] = "7";
			table [(int) StandardCharCode.eight] = "8";
			table [(int) StandardCharCode.nine] = "9";
			table [(int) StandardCharCode.colon] = ":";
			table [(int) StandardCharCode.semicolon] = ";";
			table [(int) StandardCharCode.less] = "<";
			table [(int) StandardCharCode.equal] = "=";
			table [(int) StandardCharCode.greater] = ">";
			table [(int) StandardCharCode.question] = "?";
			table [(int) StandardCharCode.at] = "@";
			table [(int) StandardCharCode.A] = "A";
			table [(int) StandardCharCode.B] = "B";
			table [(int) StandardCharCode.C] = "C";
			table [(int) StandardCharCode.D] = "D";
			table [(int) StandardCharCode.E] = "E";
			table [(int) StandardCharCode.F] = "F";
			table [(int) StandardCharCode.G] = "G";
			table [(int) StandardCharCode.H] = "H";
			table [(int) StandardCharCode.I] = "I";
			table [(int) StandardCharCode.J] = "J";
			table [(int) StandardCharCode.K] = "K";
			table [(int) StandardCharCode.L] = "L";
			table [(int) StandardCharCode.M] = "M";
			table [(int) StandardCharCode.N] = "N";
			table [(int) StandardCharCode.O] = "O";
			table [(int) StandardCharCode.P] = "P";
			table [(int) StandardCharCode.Q] = "Q";
			table [(int) StandardCharCode.R] = "R";
			table [(int) StandardCharCode.S] = "S";
			table [(int) StandardCharCode.T] = "T";
			table [(int) StandardCharCode.U] = "U";
			table [(int) StandardCharCode.V] = "V";
			table [(int) StandardCharCode.W] = "W";
			table [(int) StandardCharCode.X] = "X";
			table [(int) StandardCharCode.Y] = "Y";
			table [(int) StandardCharCode.Z] = "Z";
			table [(int) StandardCharCode.bracketleft] = "[";
			table [(int) StandardCharCode.backslash] = "\\";
			table [(int) StandardCharCode.bracketright] = "]";
			table [(int) StandardCharCode.asciicircum] = "^";
			table [(int) StandardCharCode.underscore] = "_";
			table [(int) StandardCharCode.quoteleft] = "`";
			table [(int) StandardCharCode.a] = "a";
			table [(int) StandardCharCode.b] = "b";
			table [(int) StandardCharCode.c] = "c";
			table [(int) StandardCharCode.d] = "d";
			table [(int) StandardCharCode.e] = "e";
			table [(int) StandardCharCode.f] = "f";
			table [(int) StandardCharCode.g] = "g";
			table [(int) StandardCharCode.h] = "h";
			table [(int) StandardCharCode.i] = "i";
			table [(int) StandardCharCode.j] = "j";
			table [(int) StandardCharCode.k] = "k";
			table [(int) StandardCharCode.l] = "l";
			table [(int) StandardCharCode.m] = "m";
			table [(int) StandardCharCode.n] = "n";
			table [(int) StandardCharCode.o] = "o";
			table [(int) StandardCharCode.p] = "p";
			table [(int) StandardCharCode.q] = "q";
			table [(int) StandardCharCode.r] = "r";
			table [(int) StandardCharCode.s] = "s";
			table [(int) StandardCharCode.t] = "t";
			table [(int) StandardCharCode.u] = "u";
			table [(int) StandardCharCode.v] = "v";
			table [(int) StandardCharCode.w] = "w";
			table [(int) StandardCharCode.x] = "x";
			table [(int) StandardCharCode.y] = "y";
			table [(int) StandardCharCode.z] = "z";
			table [(int) StandardCharCode.braceleft] = "{";
			table [(int) StandardCharCode.bar] = "|";
			table [(int) StandardCharCode.braceright] = "}";
			table [(int) StandardCharCode.asciitilde] = "~";
			table [(int) StandardCharCode.nobrkspace] = "\xa0";
			table [(int) StandardCharCode.exclamdown] = "\xa1";
			table [(int) StandardCharCode.cent] = "\xa2";
			table [(int) StandardCharCode.sterling] = "\xa3";
			table [(int) StandardCharCode.currency] = "\xa4";
			table [(int) StandardCharCode.yen] = "\xa5";
			table [(int) StandardCharCode.brokenbar] = "\xa6";
			table [(int) StandardCharCode.section] = "\xa7";
			table [(int) StandardCharCode.dieresis] = "\xa8";
			table [(int) StandardCharCode.copyright] = "\xa9";
			table [(int) StandardCharCode.ordfeminine] = "\xaa";
			table [(int) StandardCharCode.guillemotleft] = "\xab";
			table [(int) StandardCharCode.logicalnot] = "\xac";
			table [(int) StandardCharCode.opthyphen] = "\xad";
			table [(int) StandardCharCode.registered] = "\xae";
			table [(int) StandardCharCode.macron] = "\xaf";
			table [(int) StandardCharCode.degree] = "\xb0";
			table [(int) StandardCharCode.plusminus] = "\xb1";
			table [(int) StandardCharCode.twosuperior] = "\xb2";
			table [(int) StandardCharCode.threesuperior] = "\xb3";
			table [(int) StandardCharCode.acute] = "\xb4";
			table [(int) StandardCharCode.mu] = "\xb5";
			table [(int) StandardCharCode.paragraph] = "\xb6";
			table [(int) StandardCharCode.periodcentered] = "\xb7";
			table [(int) StandardCharCode.cedilla] = "\xb8";
			table [(int) StandardCharCode.onesuperior] = "\xb9";
			table [(int) StandardCharCode.ordmasculine] = "\xba";
			table [(int) StandardCharCode.guillemotright] = "\xbb";
			table [(int) StandardCharCode.onequarter] = "\xbc";
			table [(int) StandardCharCode.onehalf] = "\xbd";
			table [(int) StandardCharCode.threequarters] = "\xbe";
			table [(int) StandardCharCode.questiondown] = "\xbf";
			table [(int) StandardCharCode.Agrave] = "\xc0";
			table [(int) StandardCharCode.Aacute] = "\xc1";
			table [(int) StandardCharCode.Acircumflex] = "\xc2";
			table [(int) StandardCharCode.Atilde] = "\xc3";
			table [(int) StandardCharCode.Adieresis] = "\xc4";
			table [(int) StandardCharCode.Aring] = "\xc5";
			table [(int) StandardCharCode.AE] = "\xc6";
			table [(int) StandardCharCode.Ccedilla] = "\xc7";
			table [(int) StandardCharCode.Egrave] = "\xc8";
			table [(int) StandardCharCode.Eacute] = "\xc9";
			table [(int) StandardCharCode.Ecircumflex] = "\xca";
			table [(int) StandardCharCode.Edieresis] = "\xcb";
			table [(int) StandardCharCode.Igrave] = "\xcc";
			table [(int) StandardCharCode.Iacute] = "\xcd";
			table [(int) StandardCharCode.Icircumflex] = "\xce";
			table [(int) StandardCharCode.Idieresis] = "\xcf";
			table [(int) StandardCharCode.Eth] = "\xd0";
			table [(int) StandardCharCode.Ntilde] = "\xd1";
			table [(int) StandardCharCode.Ograve] = "\xd2";
			table [(int) StandardCharCode.Oacute] = "\xd3";
			table [(int) StandardCharCode.Ocircumflex] = "\xd4";
			table [(int) StandardCharCode.Otilde] = "\xd5";
			table [(int) StandardCharCode.Odieresis] = "\xd6";
			table [(int) StandardCharCode.multiply] = "\xd7";
			table [(int) StandardCharCode.Oslash] = "\xd8";
			table [(int) StandardCharCode.Ugrave] = "\xd9";
			table [(int) StandardCharCode.Uacute] = "\xda";
			table [(int) StandardCharCode.Ucircumflex] = "\xdb";
			table [(int) StandardCharCode.Udieresis] = "\xdc";
			table [(int) StandardCharCode.Yacute] = "\xdd";
			table [(int) StandardCharCode.Thorn] = "\xde";
			table [(int) StandardCharCode.germandbls] = "\xdf";
			table [(int) StandardCharCode.agrave] = "\xe0";
			table [(int) StandardCharCode.aacute] = "\xe1";
			table [(int) StandardCharCode.acircumflex] = "\xe2";
			table [(int) StandardCharCode.atilde] = "\xe3";
			table [(int) StandardCharCode.adieresis] = "\xe4";
			table [(int) StandardCharCode.aring] = "\xe5";
			table [(int) StandardCharCode.ae] = "\xe6";
			table [(int) StandardCharCode.ccedilla] = "\xe7";
			table [(int) StandardCharCode.egrave] = "\xe8";
			table [(int) StandardCharCode.eacute] = "\xe9";
			table [(int) StandardCharCode.ecircumflex] = "\xea";
			table [(int) StandardCharCode.edieresis] = "\xeb";
			table [(int) StandardCharCode.igrave] = "\xec";
			table [(int) StandardCharCode.iacute] = "\xed";
			table [(int) StandardCharCode.icircumflex] = "\xee";
			table [(int) StandardCharCode.idieresis] = "\xef";
			table [(int) StandardCharCode.eth] = "\xf0";
			table [(int) StandardCharCode.ntilde] = "\xf1";
			table [(int) StandardCharCode.ograve] = "\xf2";
			table [(int) StandardCharCode.oacute] = "\xf3";
			table [(int) StandardCharCode.ocircumflex] = "\xf4";
			table [(int) StandardCharCode.otilde] = "\xf5";
			table [(int) StandardCharCode.odieresis] = "\xf6";
			table [(int) StandardCharCode.divide] = "\xf7";
			table [(int) StandardCharCode.oslash] = "\xf8";
			table [(int) StandardCharCode.ugrave] = "\xf9";
			table [(int) StandardCharCode.uacute] = "\xfa";
			table [(int) StandardCharCode.ucircumflex] = "\xfb";
			table [(int) StandardCharCode.udieresis] = "\xfc";
			table [(int) StandardCharCode.yacute] = "\xfd";
			table [(int) StandardCharCode.thorn] = "\xfe";
			table [(int) StandardCharCode.ydieresis] = "\xff";

		}


		public static OpCode GetOpCode (Code code)
		{
			switch (code) {
			case Code.Nop : return OpCodes.Nop;
			case Code.Break : return OpCodes.Break;
			case Code.Ldarg_0 : return OpCodes.Ldarg_0;
			case Code.Ldarg_1 : return OpCodes.Ldarg_1;
			case Code.Ldarg_2 : return OpCodes.Ldarg_2;
			case Code.Ldarg_3 : return OpCodes.Ldarg_3;
			case Code.Ldloc_0 : return OpCodes.Ldloc_0;
			case Code.Ldloc_1 : return OpCodes.Ldloc_1;
			case Code.Ldloc_2 : return OpCodes.Ldloc_2;
			case Code.Ldloc_3 : return OpCodes.Ldloc_3;
			case Code.Stloc_0 : return OpCodes.Stloc_0;
			case Code.Stloc_1 : return OpCodes.Stloc_1;
			case Code.Stloc_2 : return OpCodes.Stloc_2;
			case Code.Stloc_3 : return OpCodes.Stloc_3;
			case Code.Ldarg_S : return OpCodes.Ldarg_S;
			case Code.Ldarga_S : return OpCodes.Ldarga_S;
			case Code.Starg_S : return OpCodes.Starg_S;
			case Code.Ldloc_S : return OpCodes.Ldloc_S;
			case Code.Ldloca_S : return OpCodes.Ldloca_S;
			case Code.Stloc_S : return OpCodes.Stloc_S;
			case Code.Ldnull : return OpCodes.Ldnull;
			case Code.Ldc_I4_M1 : return OpCodes.Ldc_I4_M1;
			case Code.Ldc_I4_0 : return OpCodes.Ldc_I4_0;
			case Code.Ldc_I4_1 : return OpCodes.Ldc_I4_1;
			case Code.Ldc_I4_2 : return OpCodes.Ldc_I4_2;
			case Code.Ldc_I4_3 : return OpCodes.Ldc_I4_3;
			case Code.Ldc_I4_4 : return OpCodes.Ldc_I4_4;
			case Code.Ldc_I4_5 : return OpCodes.Ldc_I4_5;
			case Code.Ldc_I4_6 : return OpCodes.Ldc_I4_6;
			case Code.Ldc_I4_7 : return OpCodes.Ldc_I4_7;
			case Code.Ldc_I4_8 : return OpCodes.Ldc_I4_8;
			case Code.Ldc_I4_S : return OpCodes.Ldc_I4_S;
			case Code.Ldc_I4 : return OpCodes.Ldc_I4;
			case Code.Ldc_I8 : return OpCodes.Ldc_I8;
			case Code.Ldc_R4 : return OpCodes.Ldc_R4;
			case Code.Ldc_R8 : return OpCodes.Ldc_R8;
			case Code.Dup : return OpCodes.Dup;
			case Code.Pop : return OpCodes.Pop;
			case Code.Jmp : return OpCodes.Jmp;
			case Code.Call : return OpCodes.Call;
			case Code.Calli : return OpCodes.Calli;
			case Code.Ret : return OpCodes.Ret;
			case Code.Br_S : return OpCodes.Br_S;
			case Code.Brfalse_S : return OpCodes.Brfalse_S;
			case Code.Brtrue_S : return OpCodes.Brtrue_S;
			case Code.Beq_S : return OpCodes.Beq_S;
			case Code.Bge_S : return OpCodes.Bge_S;
			case Code.Bgt_S : return OpCodes.Bgt_S;
			case Code.Ble_S : return OpCodes.Ble_S;
			case Code.Blt_S : return OpCodes.Blt_S;
			case Code.Bne_Un_S : return OpCodes.Bne_Un_S;
			case Code.Bge_Un_S : return OpCodes.Bge_Un_S;
			case Code.Bgt_Un_S : return OpCodes.Bgt_Un_S;
			case Code.Ble_Un_S : return OpCodes.Ble_Un_S;
			case Code.Blt_Un_S : return OpCodes.Blt_Un_S;
			case Code.Br : return OpCodes.Br;
			case Code.Brfalse : return OpCodes.Brfalse;
			case Code.Brtrue : return OpCodes.Brtrue;
			case Code.Beq : return OpCodes.Beq;
			case Code.Bge : return OpCodes.Bge;
			case Code.Bgt : return OpCodes.Bgt;
			case Code.Ble : return OpCodes.Ble;
			case Code.Blt : return OpCodes.Blt;
			case Code.Bne_Un : return OpCodes.Bne_Un;
			case Code.Bge_Un : return OpCodes.Bge_Un;
			case Code.Bgt_Un : return OpCodes.Bgt_Un;
			case Code.Ble_Un : return OpCodes.Ble_Un;
			case Code.Blt_Un : return OpCodes.Blt_Un;
			case Code.Switch : return OpCodes.Switch;
			case Code.Ldind_I1 : return OpCodes.Ldind_I1;
			case Code.Ldind_U1 : return OpCodes.Ldind_U1;
			case Code.Ldind_I2 : return OpCodes.Ldind_I2;
			case Code.Ldind_U2 : return OpCodes.Ldind_U2;
			case Code.Ldind_I4 : return OpCodes.Ldind_I4;
			case Code.Ldind_U4 : return OpCodes.Ldind_U4;
			case Code.Ldind_I8 : return OpCodes.Ldind_I8;
			case Code.Ldind_I : return OpCodes.Ldind_I;
			case Code.Ldind_R4 : return OpCodes.Ldind_R4;
			case Code.Ldind_R8 : return OpCodes.Ldind_R8;
			case Code.Ldind_Ref : return OpCodes.Ldind_Ref;
			case Code.Stind_Ref : return OpCodes.Stind_Ref;
			case Code.Stind_I1 : return OpCodes.Stind_I1;
			case Code.Stind_I2 : return OpCodes.Stind_I2;
			case Code.Stind_I4 : return OpCodes.Stind_I4;
			case Code.Stind_I8 : return OpCodes.Stind_I8;
			case Code.Stind_R4 : return OpCodes.Stind_R4;
			case Code.Stind_R8 : return OpCodes.Stind_R8;
			case Code.Add : return OpCodes.Add;
			case Code.Sub : return OpCodes.Sub;
			case Code.Mul : return OpCodes.Mul;
			case Code.Div : return OpCodes.Div;
			case Code.Div_Un : return OpCodes.Div_Un;
			case Code.Rem : return OpCodes.Rem;
			case Code.Rem_Un : return OpCodes.Rem_Un;
			case Code.And : return OpCodes.And;
			case Code.Or : return OpCodes.Or;
			case Code.Xor : return OpCodes.Xor;
			case Code.Shl : return OpCodes.Shl;
			case Code.Shr : return OpCodes.Shr;
			case Code.Shr_Un : return OpCodes.Shr_Un;
			case Code.Neg : return OpCodes.Neg;
			case Code.Not : return OpCodes.Not;
			case Code.Conv_I1 : return OpCodes.Conv_I1;
			case Code.Conv_I2 : return OpCodes.Conv_I2;
			case Code.Conv_I4 : return OpCodes.Conv_I4;
			case Code.Conv_I8 : return OpCodes.Conv_I8;
			case Code.Conv_R4 : return OpCodes.Conv_R4;
			case Code.Conv_R8 : return OpCodes.Conv_R8;
			case Code.Conv_U4 : return OpCodes.Conv_U4;
			case Code.Conv_U8 : return OpCodes.Conv_U8;
			case Code.Callvirt : return OpCodes.Callvirt;
			case Code.Cpobj : return OpCodes.Cpobj;
			case Code.Ldobj : return OpCodes.Ldobj;
			case Code.Ldstr : return OpCodes.Ldstr;
			case Code.Newobj : return OpCodes.Newobj;
			case Code.Castclass : return OpCodes.Castclass;
			case Code.Isinst : return OpCodes.Isinst;
			case Code.Conv_R_Un : return OpCodes.Conv_R_Un;
			case Code.Unbox : return OpCodes.Unbox;
			case Code.Throw : return OpCodes.Throw;
			case Code.Ldfld : return OpCodes.Ldfld;
			case Code.Ldflda : return OpCodes.Ldflda;
			case Code.Stfld : return OpCodes.Stfld;
			case Code.Ldsfld : return OpCodes.Ldsfld;
			case Code.Ldsflda : return OpCodes.Ldsflda;
			case Code.Stsfld : return OpCodes.Stsfld;
			case Code.Stobj : return OpCodes.Stobj;
			case Code.Conv_Ovf_I1_Un : return OpCodes.Conv_Ovf_I1_Un;
			case Code.Conv_Ovf_I2_Un : return OpCodes.Conv_Ovf_I2_Un;
			case Code.Conv_Ovf_I4_Un : return OpCodes.Conv_Ovf_I4_Un;
			case Code.Conv_Ovf_I8_Un : return OpCodes.Conv_Ovf_I8_Un;
			case Code.Conv_Ovf_U1_Un : return OpCodes.Conv_Ovf_U1_Un;
			case Code.Conv_Ovf_U2_Un : return OpCodes.Conv_Ovf_U2_Un;
			case Code.Conv_Ovf_U4_Un : return OpCodes.Conv_Ovf_U4_Un;
			case Code.Conv_Ovf_U8_Un : return OpCodes.Conv_Ovf_U8_Un;
			case Code.Conv_Ovf_I_Un : return OpCodes.Conv_Ovf_I_Un;
			case Code.Conv_Ovf_U_Un : return OpCodes.Conv_Ovf_U_Un;
			case Code.Box : return OpCodes.Box;
			case Code.Newarr : return OpCodes.Newarr;
			case Code.Ldlen : return OpCodes.Ldlen;
			case Code.Ldelema : return OpCodes.Ldelema;
			case Code.Ldelem_I1 : return OpCodes.Ldelem_I1;
			case Code.Ldelem_U1 : return OpCodes.Ldelem_U1;
			case Code.Ldelem_I2 : return OpCodes.Ldelem_I2;
			case Code.Ldelem_U2 : return OpCodes.Ldelem_U2;
			case Code.Ldelem_I4 : return OpCodes.Ldelem_I4;
			case Code.Ldelem_U4 : return OpCodes.Ldelem_U4;
			case Code.Ldelem_I8 : return OpCodes.Ldelem_I8;
			case Code.Ldelem_I : return OpCodes.Ldelem_I;
			case Code.Ldelem_R4 : return OpCodes.Ldelem_R4;
			case Code.Ldelem_R8 : return OpCodes.Ldelem_R8;
			case Code.Ldelem_Ref : return OpCodes.Ldelem_Ref;
			case Code.Stelem_I : return OpCodes.Stelem_I;
			case Code.Stelem_I1 : return OpCodes.Stelem_I1;
			case Code.Stelem_I2 : return OpCodes.Stelem_I2;
			case Code.Stelem_I4 : return OpCodes.Stelem_I4;
			case Code.Stelem_I8 : return OpCodes.Stelem_I8;
			case Code.Stelem_R4 : return OpCodes.Stelem_R4;
			case Code.Stelem_R8 : return OpCodes.Stelem_R8;
			case Code.Stelem_Ref : return OpCodes.Stelem_Ref;
			case Code.Ldelem_Any : return OpCodes.Ldelem_Any;
			case Code.Stelem_Any : return OpCodes.Stelem_Any;
			case Code.Unbox_Any : return OpCodes.Unbox_Any;
			case Code.Conv_Ovf_I1 : return OpCodes.Conv_Ovf_I1;
			case Code.Conv_Ovf_U1 : return OpCodes.Conv_Ovf_U1;
			case Code.Conv_Ovf_I2 : return OpCodes.Conv_Ovf_I2;
			case Code.Conv_Ovf_U2 : return OpCodes.Conv_Ovf_U2;
			case Code.Conv_Ovf_I4 : return OpCodes.Conv_Ovf_I4;
			case Code.Conv_Ovf_U4 : return OpCodes.Conv_Ovf_U4;
			case Code.Conv_Ovf_I8 : return OpCodes.Conv_Ovf_I8;
			case Code.Conv_Ovf_U8 : return OpCodes.Conv_Ovf_U8;
			case Code.Refanyval : return OpCodes.Refanyval;
			case Code.Ckfinite : return OpCodes.Ckfinite;
			case Code.Mkrefany : return OpCodes.Mkrefany;
			case Code.Ldtoken : return OpCodes.Ldtoken;
			case Code.Conv_U2 : return OpCodes.Conv_U2;
			case Code.Conv_U1 : return OpCodes.Conv_U1;
			case Code.Conv_I : return OpCodes.Conv_I;
			case Code.Conv_Ovf_I : return OpCodes.Conv_Ovf_I;
			case Code.Conv_Ovf_U : return OpCodes.Conv_Ovf_U;
			case Code.Add_Ovf : return OpCodes.Add_Ovf;
			case Code.Add_Ovf_Un : return OpCodes.Add_Ovf_Un;
			case Code.Mul_Ovf : return OpCodes.Mul_Ovf;
			case Code.Mul_Ovf_Un : return OpCodes.Mul_Ovf_Un;
			case Code.Sub_Ovf : return OpCodes.Sub_Ovf;
			case Code.Sub_Ovf_Un : return OpCodes.Sub_Ovf_Un;
			case Code.Endfinally : return OpCodes.Endfinally;
			case Code.Leave : return OpCodes.Leave;
			case Code.Leave_S : return OpCodes.Leave_S;
			case Code.Stind_I : return OpCodes.Stind_I;
			case Code.Conv_U : return OpCodes.Conv_U;
			case Code.Arglist : return OpCodes.Arglist;
			case Code.Ceq : return OpCodes.Ceq;
			case Code.Cgt : return OpCodes.Cgt;
			case Code.Cgt_Un : return OpCodes.Cgt_Un;
			case Code.Clt : return OpCodes.Clt;
			case Code.Clt_Un : return OpCodes.Clt_Un;
			case Code.Ldftn : return OpCodes.Ldftn;
			case Code.Ldvirtftn : return OpCodes.Ldvirtftn;
			case Code.Ldarg : return OpCodes.Ldarg;
			case Code.Ldarga : return OpCodes.Ldarga;
			case Code.Starg : return OpCodes.Starg;
			case Code.Ldloc : return OpCodes.Ldloc;
			case Code.Ldloca : return OpCodes.Ldloca;
			case Code.Stloc : return OpCodes.Stloc;
			case Code.Localloc : return OpCodes.Localloc;
			case Code.Endfilter : return OpCodes.Endfilter;
			case Code.Unaligned : return OpCodes.Unaligned;
			case Code.Volatile : return OpCodes.Volatile;
			case Code.Tail : return OpCodes.Tail;
			case Code.Initobj : return OpCodes.Initobj;
			case Code.Constrained : return OpCodes.Constrained;
			case Code.Cpblk : return OpCodes.Cpblk;
			case Code.Initblk : return OpCodes.Initblk;
			case Code.No : return OpCodes.No;
			case Code.Rethrow : return OpCodes.Rethrow;
			case Code.Sizeof : return OpCodes.Sizeof;
			case Code.Refanytype : return OpCodes.Refanytype;
			case Code.Readonly : return OpCodes.Readonly;
			default : return OpCodes.Nop;
			}
		}

Microsoft.Azure.Management.ContainerService.Fluent.Models.Code : ExpandableStringEnum

Fields :

public static Code Running
public static Code Stopped

Constructors :

public Code()

Methods :

public String get_Value()
public String ToString()
public Int32 GetHashCode()
public Boolean Equals(String value = )
public Boolean Equals(Object obj = )
public Type GetType()