1 | // |
---|
2 | // Code.cs |
---|
3 | // |
---|
4 | // Author: |
---|
5 | // Jb Evain (jbevain@gmail.com) |
---|
6 | // |
---|
7 | // Copyright (c) 2008 - 2011 Jb Evain |
---|
8 | // |
---|
9 | // Permission is hereby granted, free of charge, to any person obtaining |
---|
10 | // a copy of this software and associated documentation files (the |
---|
11 | // "Software"), to deal in the Software without restriction, including |
---|
12 | // without limitation the rights to use, copy, modify, merge, publish, |
---|
13 | // distribute, sublicense, and/or sell copies of the Software, and to |
---|
14 | // permit persons to whom the Software is furnished to do so, subject to |
---|
15 | // the following conditions: |
---|
16 | // |
---|
17 | // The above copyright notice and this permission notice shall be |
---|
18 | // included in all copies or substantial portions of the Software. |
---|
19 | // |
---|
20 | // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, |
---|
21 | // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
---|
22 | // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND |
---|
23 | // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE |
---|
24 | // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION |
---|
25 | // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION |
---|
26 | // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
---|
27 | // |
---|
28 | |
---|
29 | namespace Mono.Cecil.Cil { |
---|
30 | |
---|
31 | public enum Code { |
---|
32 | Nop, |
---|
33 | Break, |
---|
34 | Ldarg_0, |
---|
35 | Ldarg_1, |
---|
36 | Ldarg_2, |
---|
37 | Ldarg_3, |
---|
38 | Ldloc_0, |
---|
39 | Ldloc_1, |
---|
40 | Ldloc_2, |
---|
41 | Ldloc_3, |
---|
42 | Stloc_0, |
---|
43 | Stloc_1, |
---|
44 | Stloc_2, |
---|
45 | Stloc_3, |
---|
46 | Ldarg_S, |
---|
47 | Ldarga_S, |
---|
48 | Starg_S, |
---|
49 | Ldloc_S, |
---|
50 | Ldloca_S, |
---|
51 | Stloc_S, |
---|
52 | Ldnull, |
---|
53 | Ldc_I4_M1, |
---|
54 | Ldc_I4_0, |
---|
55 | Ldc_I4_1, |
---|
56 | Ldc_I4_2, |
---|
57 | Ldc_I4_3, |
---|
58 | Ldc_I4_4, |
---|
59 | Ldc_I4_5, |
---|
60 | Ldc_I4_6, |
---|
61 | Ldc_I4_7, |
---|
62 | Ldc_I4_8, |
---|
63 | Ldc_I4_S, |
---|
64 | Ldc_I4, |
---|
65 | Ldc_I8, |
---|
66 | Ldc_R4, |
---|
67 | Ldc_R8, |
---|
68 | Dup, |
---|
69 | Pop, |
---|
70 | Jmp, |
---|
71 | Call, |
---|
72 | Calli, |
---|
73 | Ret, |
---|
74 | Br_S, |
---|
75 | Brfalse_S, |
---|
76 | Brtrue_S, |
---|
77 | Beq_S, |
---|
78 | Bge_S, |
---|
79 | Bgt_S, |
---|
80 | Ble_S, |
---|
81 | Blt_S, |
---|
82 | Bne_Un_S, |
---|
83 | Bge_Un_S, |
---|
84 | Bgt_Un_S, |
---|
85 | Ble_Un_S, |
---|
86 | Blt_Un_S, |
---|
87 | Br, |
---|
88 | Brfalse, |
---|
89 | Brtrue, |
---|
90 | Beq, |
---|
91 | Bge, |
---|
92 | Bgt, |
---|
93 | Ble, |
---|
94 | Blt, |
---|
95 | Bne_Un, |
---|
96 | Bge_Un, |
---|
97 | Bgt_Un, |
---|
98 | Ble_Un, |
---|
99 | Blt_Un, |
---|
100 | Switch, |
---|
101 | Ldind_I1, |
---|
102 | Ldind_U1, |
---|
103 | Ldind_I2, |
---|
104 | Ldind_U2, |
---|
105 | Ldind_I4, |
---|
106 | Ldind_U4, |
---|
107 | Ldind_I8, |
---|
108 | Ldind_I, |
---|
109 | Ldind_R4, |
---|
110 | Ldind_R8, |
---|
111 | Ldind_Ref, |
---|
112 | Stind_Ref, |
---|
113 | Stind_I1, |
---|
114 | Stind_I2, |
---|
115 | Stind_I4, |
---|
116 | Stind_I8, |
---|
117 | Stind_R4, |
---|
118 | Stind_R8, |
---|
119 | Add, |
---|
120 | Sub, |
---|
121 | Mul, |
---|
122 | Div, |
---|
123 | Div_Un, |
---|
124 | Rem, |
---|
125 | Rem_Un, |
---|
126 | And, |
---|
127 | Or, |
---|
128 | Xor, |
---|
129 | Shl, |
---|
130 | Shr, |
---|
131 | Shr_Un, |
---|
132 | Neg, |
---|
133 | Not, |
---|
134 | Conv_I1, |
---|
135 | Conv_I2, |
---|
136 | Conv_I4, |
---|
137 | Conv_I8, |
---|
138 | Conv_R4, |
---|
139 | Conv_R8, |
---|
140 | Conv_U4, |
---|
141 | Conv_U8, |
---|
142 | Callvirt, |
---|
143 | Cpobj, |
---|
144 | Ldobj, |
---|
145 | Ldstr, |
---|
146 | Newobj, |
---|
147 | Castclass, |
---|
148 | Isinst, |
---|
149 | Conv_R_Un, |
---|
150 | Unbox, |
---|
151 | Throw, |
---|
152 | Ldfld, |
---|
153 | Ldflda, |
---|
154 | Stfld, |
---|
155 | Ldsfld, |
---|
156 | Ldsflda, |
---|
157 | Stsfld, |
---|
158 | Stobj, |
---|
159 | Conv_Ovf_I1_Un, |
---|
160 | Conv_Ovf_I2_Un, |
---|
161 | Conv_Ovf_I4_Un, |
---|
162 | Conv_Ovf_I8_Un, |
---|
163 | Conv_Ovf_U1_Un, |
---|
164 | Conv_Ovf_U2_Un, |
---|
165 | Conv_Ovf_U4_Un, |
---|
166 | Conv_Ovf_U8_Un, |
---|
167 | Conv_Ovf_I_Un, |
---|
168 | Conv_Ovf_U_Un, |
---|
169 | Box, |
---|
170 | Newarr, |
---|
171 | Ldlen, |
---|
172 | Ldelema, |
---|
173 | Ldelem_I1, |
---|
174 | Ldelem_U1, |
---|
175 | Ldelem_I2, |
---|
176 | Ldelem_U2, |
---|
177 | Ldelem_I4, |
---|
178 | Ldelem_U4, |
---|
179 | Ldelem_I8, |
---|
180 | Ldelem_I, |
---|
181 | Ldelem_R4, |
---|
182 | Ldelem_R8, |
---|
183 | Ldelem_Ref, |
---|
184 | Stelem_I, |
---|
185 | Stelem_I1, |
---|
186 | Stelem_I2, |
---|
187 | Stelem_I4, |
---|
188 | Stelem_I8, |
---|
189 | Stelem_R4, |
---|
190 | Stelem_R8, |
---|
191 | Stelem_Ref, |
---|
192 | Ldelem_Any, |
---|
193 | Stelem_Any, |
---|
194 | Unbox_Any, |
---|
195 | Conv_Ovf_I1, |
---|
196 | Conv_Ovf_U1, |
---|
197 | Conv_Ovf_I2, |
---|
198 | Conv_Ovf_U2, |
---|
199 | Conv_Ovf_I4, |
---|
200 | Conv_Ovf_U4, |
---|
201 | Conv_Ovf_I8, |
---|
202 | Conv_Ovf_U8, |
---|
203 | Refanyval, |
---|
204 | Ckfinite, |
---|
205 | Mkrefany, |
---|
206 | Ldtoken, |
---|
207 | Conv_U2, |
---|
208 | Conv_U1, |
---|
209 | Conv_I, |
---|
210 | Conv_Ovf_I, |
---|
211 | Conv_Ovf_U, |
---|
212 | Add_Ovf, |
---|
213 | Add_Ovf_Un, |
---|
214 | Mul_Ovf, |
---|
215 | Mul_Ovf_Un, |
---|
216 | Sub_Ovf, |
---|
217 | Sub_Ovf_Un, |
---|
218 | Endfinally, |
---|
219 | Leave, |
---|
220 | Leave_S, |
---|
221 | Stind_I, |
---|
222 | Conv_U, |
---|
223 | Arglist, |
---|
224 | Ceq, |
---|
225 | Cgt, |
---|
226 | Cgt_Un, |
---|
227 | Clt, |
---|
228 | Clt_Un, |
---|
229 | Ldftn, |
---|
230 | Ldvirtftn, |
---|
231 | Ldarg, |
---|
232 | Ldarga, |
---|
233 | Starg, |
---|
234 | Ldloc, |
---|
235 | Ldloca, |
---|
236 | Stloc, |
---|
237 | Localloc, |
---|
238 | Endfilter, |
---|
239 | Unaligned, |
---|
240 | Volatile, |
---|
241 | Tail, |
---|
242 | Initobj, |
---|
243 | Constrained, |
---|
244 | Cpblk, |
---|
245 | Initblk, |
---|
246 | No, |
---|
247 | Rethrow, |
---|
248 | Sizeof, |
---|
249 | Refanytype, |
---|
250 | Readonly, |
---|
251 | } |
---|
252 | } |
---|