terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
DefaultBinder.cs
Go to the documentation of this file.
1using System;
6
7namespace System
8{
9 // Token: 0x02000149 RID: 329
11 internal class DefaultBinder : Binder
12 {
13 // Token: 0x06000CFE RID: 3326 RVA: 0x0001C358 File Offset: 0x0001A558
14 public override MethodBase BindToMethod(BindingFlags bindingAttr, MethodBase[] match, object[] args, ParameterModifier[] modifiers, CultureInfo cultureInfo, string[] names, [Out] object state)
15 {
16 int num = 1;
17 if (match == null || num == 0)
18 {
19 string resourceString = Environment.GetResourceString("Array may not be empty.");
20 string resourceString2 = Environment.GetResourceString("Member not found.");
21 throw new InvalidCastException();
22 }
23 object obj;
24 if (obj != null && obj == null)
25 {
26 throw new InvalidCastException();
27 }
28 if (names != null)
29 {
30 }
31 Type type;
32 if (type == null || type != null)
33 {
34 if (type != null)
35 {
36 }
37 int num2;
38 if (num2 != 0)
39 {
40 }
41 int num3 = 1;
42 string resourceString3 = Environment.GetResourceString("Ambiguous match found.");
43 if (num3 != 0)
44 {
45 object obj2;
46 if (obj2 != null)
47 {
48 if (obj2 == null)
49 {
50 throw new InvalidCastException();
51 }
52 }
53 }
55 if (array == null || array != null)
56 {
57 if (array != null)
58 {
59 }
62 if (array2 != null)
63 {
64 if (array2 != null)
65 {
66 throw new InvalidCastException();
67 }
68 }
69 else if ((array3 != null && array3 == null) || array3 == null || array3 != null)
70 {
71 }
72 }
73 }
75 }
76
77 // Token: 0x06000CFF RID: 3327 RVA: 0x0001C484 File Offset: 0x0001A684
79 {
80 if (match != null)
81 {
82 object obj;
83 if (obj == null || obj != null)
84 {
85 Type type = value.GetType();
86 long num = 0L;
87 bool flag = type == type;
88 bool isClass = type.IsClass;
89 Type type2;
90 bool flag2 = type == type2;
91 if (type == null || type != null)
92 {
93 bool isPrimitive = type.IsPrimitive;
94 if (type != null || type != null)
95 {
96 }
97 if (num == 0L)
98 {
99 goto IL_006E;
100 }
101 if (num == 0L)
102 {
103 }
104 int num2;
105 if (num2 != 0)
106 {
107 }
108 string resourceString = Environment.GetResourceString("Ambiguous match found.");
109 }
110 throw new ArrayTypeMismatchException();
111 }
112 goto IL_007A;
113 }
114 IL_006E:
115 string resourceString2 = Environment.GetResourceString("Field not found.");
116 IL_007A:
117 throw new InvalidCastException();
118 }
119
120 // Token: 0x06000D00 RID: 3328 RVA: 0x0001C510 File Offset: 0x0001A710
121 public override PropertyInfo SelectProperty(BindingFlags bindingAttr, PropertyInfo[] match, Type returnType, Type[] indexes, ParameterModifier[] modifiers)
122 {
123 int num = 1;
124 if (num == 0)
125 {
126 }
127 if (num == 0)
128 {
129 }
130 if (match != null)
131 {
132 object obj;
133 if (obj == null || obj != null)
134 {
135 bool flag;
136 if (flag)
137 {
138 }
139 throw new InvalidCastException();
140 }
141 }
142 else
143 {
144 string resourceString = Environment.GetResourceString("Array may not be empty.");
145 }
146 throw new InvalidCastException();
147 }
148
149 // Token: 0x06000D01 RID: 3329 RVA: 0x0001C588 File Offset: 0x0001A788
150 public override object ChangeType(object value, Type type, CultureInfo cultureInfo)
151 {
152 /*
153An exception occurred when decompiling this method (06000D01)
154
155ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Object System.DefaultBinder::ChangeType(System.Object,System.Type,System.Globalization.CultureInfo)
156
157 ---> System.Exception: Basic block has to end with unconditional control flow.
158{
159 Block_0:
160 stloc:string(var_0_0A, call:string(Environment::GetResourceString, ldstr:string("ChangeType operation is not supported.")))
161}
162
163 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
164 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
165 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
166 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
167 --- End of inner exception stack trace ---
168 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
169 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
170*/;
171 }
172
173 // Token: 0x06000D02 RID: 3330 RVA: 0x0001C5A0 File Offset: 0x0001A7A0
174 public override void ReorderArgumentArray(object[] args, object state)
175 {
176 if (state != null)
177 {
178 }
179 if (args == null || args == null)
180 {
181 throw new InvalidCastException();
182 }
183 if (args == null || args != null)
184 {
185 return;
186 }
187 throw new ArrayTypeMismatchException();
188 }
189
190 // Token: 0x06000D03 RID: 3331 RVA: 0x0001C5D8 File Offset: 0x0001A7D8
191 public static MethodBase ExactBinding(MethodBase[] match, Type[] types, ParameterModifier[] modifiers)
192 {
193 long num = 0L;
194 if (num != 0L)
195 {
196 }
197 MethodBase methodBase;
198 return methodBase;
199 }
200
201 // Token: 0x06000D04 RID: 3332 RVA: 0x0001C5FC File Offset: 0x0001A7FC
202 public static PropertyInfo ExactPropertyBinding(PropertyInfo[] match, Type returnType, Type[] types, ParameterModifier[] modifiers)
203 {
204 /*
205An exception occurred when decompiling this method (06000D04)
206
207ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Reflection.PropertyInfo System.DefaultBinder::ExactPropertyBinding(System.Reflection.PropertyInfo[],System.Type,System.Type[],System.Reflection.ParameterModifier[])
208
209 ---> System.Exception: Basic block has to end with unconditional control flow.
210{
211 IL_0005:
212 stloc:string(var_7_13, call:string(Environment::GetResourceString, ldstr:string("Ambiguous match found.")))
213}
214
215 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
216 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
217 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
218 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
219 --- End of inner exception stack trace ---
220 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
221 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
222*/;
223 }
224
225 // Token: 0x06000D05 RID: 3333 RVA: 0x0001C620 File Offset: 0x0001A820
226 private static int FindMostSpecific(ParameterInfo[] p1, int[] paramOrder1, Type paramArrayType1, ParameterInfo[] p2, int[] paramOrder2, Type paramArrayType2, Type[] types, object[] args)
227 {
228 int num = 1;
229 if (num == 0)
230 {
231 }
232 if (num == 0)
233 {
234 }
235 return 2;
236 }
237
238 // Token: 0x06000D06 RID: 3334 RVA: 0x0001C668 File Offset: 0x0001A868
239 private static int FindMostSpecificType(Type c1, Type c2, Type t)
240 {
241 int num = 1;
242 if (num == 0)
243 {
244 }
245 if (num == 0)
246 {
247 }
248 return 1;
249 }
250
251 // Token: 0x06000D07 RID: 3335 RVA: 0x0001C6A0 File Offset: 0x0001A8A0
253 {
254 int num;
255 if (num == 0)
256 {
258 }
259 return num;
260 }
261
262 // Token: 0x06000D08 RID: 3336 RVA: 0x0001C6BC File Offset: 0x0001A8BC
264 {
265 }
266
267 // Token: 0x06000D09 RID: 3337 RVA: 0x0001C6CC File Offset: 0x0001A8CC
271
272 // Token: 0x06000D0A RID: 3338 RVA: 0x0001C6DC File Offset: 0x0001A8DC
274 {
275 }
276
277 // Token: 0x06000D0B RID: 3339 RVA: 0x0001C6EC File Offset: 0x0001A8EC
278 internal static int GetHierarchyDepth(Type t)
279 {
280 }
281
282 // Token: 0x06000D0C RID: 3340 RVA: 0x0001C6FC File Offset: 0x0001A8FC
284 {
285 /*
286An exception occurred when decompiling this method (06000D0C)
287
288ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Reflection.MethodBase System.DefaultBinder::FindMostDerivedNewSlotMeth(System.Reflection.MethodBase[],System.Int32)
289
290 ---> System.Exception: Basic block has to end with unconditional control flow.
291{
292 Block_0:
293 stloc:string(var_3_0E, call:string(Environment::GetResourceString, ldstr:string("Ambiguous match found.")))
294}
295
296 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
297 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
298 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
299 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
300 --- End of inner exception stack trace ---
301 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
302 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
303*/;
304 }
305
306 // Token: 0x06000D0D RID: 3341 RVA: 0x0001C718 File Offset: 0x0001A918
307 private static void ReorderParams(int[] paramOrder, object[] vars)
308 {
309 long num = 0L;
310 if (paramOrder == null || paramOrder != null)
311 {
313 return;
314 }
315 throw new ArrayTypeMismatchException();
316 }
317
318 // Token: 0x06000D0E RID: 3342 RVA: 0x0001C740 File Offset: 0x0001A940
319 private static bool CreateParamOrder(int[] paramOrder, ParameterInfo[] pars, string[] names)
320 {
321 bool flag;
322 return flag;
323 }
324
325 // Token: 0x06000D0F RID: 3343 RVA: 0x0001C768 File Offset: 0x0001A968
327 {
328 /*
329An exception occurred when decompiling this method (06000D0F)
330
331ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.DefaultBinder::CanConvertPrimitive(System.RuntimeType,System.RuntimeType)
332
333 ---> System.Exception: Basic block has to end with unconditional control flow.
334{
335 IL_0003:
336 stloc:TypeCode(var_1_09, call:TypeCode(Type::GetTypeCode, ldloc:RuntimeType[exp:Type](source)))
337 stloc:bool(var_5_14, call:bool(Type::op_Equality, ldloc:RuntimeType[exp:Type](source), ldloc:Type(var_4)))
338 stloc:bool(var_7_1E, call:bool(Type::op_Equality, ldloc:RuntimeType[exp:Type](source), ldloc:Type(var_6)))
339}
340
341 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
342 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
343 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
344 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
345 --- End of inner exception stack trace ---
346 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
347 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
348*/;
349 }
350
351 // Token: 0x06000D10 RID: 3344 RVA: 0x0001C794 File Offset: 0x0001A994
352 private static bool CanConvertPrimitiveObjectToType(object source, RuntimeType type)
353 {
354 Type type2;
355 if (type2 != null || type2 != null)
356 {
357 }
358 bool flag;
359 return flag;
360 }
361
362 // Token: 0x06000D11 RID: 3345 RVA: 0x0001C7B0 File Offset: 0x0001A9B0
364 {
365 }
366
367 // Token: 0x06000D12 RID: 3346 RVA: 0x0001C7C0 File Offset: 0x0001A9C0
368 public sealed override MethodBase SelectMethod(BindingFlags bindingAttr, MethodBase[] match, Type[] types, ParameterModifier[] modifiers)
369 {
370 if (match == null)
371 {
372 throw new ArrayTypeMismatchException();
373 }
374 object obj;
375 if (obj != null && obj == null)
376 {
377 throw new InvalidCastException();
378 }
379 Type type;
380 Type type2;
381 if (type != null)
382 {
383 bool flag = type2.IsRuntimeImplemented();
384 }
385 if (obj == null || obj != null)
386 {
387 if (type2 != null)
388 {
389 }
390 int num;
391 if (num != 0)
392 {
393 }
394 }
395 throw new ArrayTypeMismatchException();
396 }
397
398 // Token: 0x06000D13 RID: 3347 RVA: 0x0001C818 File Offset: 0x0001AA18
399 private static bool CanChangePrimitive(Type source, Type target)
400 {
401 if (!true)
402 {
403 }
404 bool flag;
405 return flag;
406 }
407
408 // Token: 0x06000D14 RID: 3348 RVA: 0x0001C82C File Offset: 0x0001AA2C
409 private static bool CanPrimitiveWiden(Type source, Type target)
410 {
411 /*
412An exception occurred when decompiling this method (06000D14)
413
414ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.DefaultBinder::CanPrimitiveWiden(System.Type,System.Type)
415
416 ---> System.Exception: Basic block has to end with unconditional control flow.
417{
418 IL_0003:
419 stloc:TypeCode(var_1_09, call:TypeCode(Type::GetTypeCode, ldloc:Type(source)))
420}
421
422 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
423 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
424 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
425 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
426 --- End of inner exception stack trace ---
427 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
428 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
429*/;
430 }
431
432 // Token: 0x06000D15 RID: 3349 RVA: 0x0001C844 File Offset: 0x0001AA44
434 {
435 }
436
437 // Token: 0x06000D16 RID: 3350 RVA: 0x0001C858 File Offset: 0x0001AA58
438 // Note: this type is marked as 'beforefieldinit'.
440 {
441 }
442
443 // Token: 0x040004F7 RID: 1271
445
446 // Token: 0x0200014A RID: 330
447 internal class BinderState
448 {
449 // Token: 0x06000D17 RID: 3351 RVA: 0x0001C868 File Offset: 0x0001AA68
455
456 // Token: 0x040004F8 RID: 1272
457 internal int[] m_argsMap;
458
459 // Token: 0x040004F9 RID: 1273
460 internal int m_originalSize;
461
462 // Token: 0x040004FA RID: 1274
463 internal bool m_isParamArray;
464 }
465
466 // Token: 0x0200014B RID: 331
467 [Flags]
468 private enum Primitives
469 {
470 // Token: 0x040004FC RID: 1276
471 Boolean = 8,
472 // Token: 0x040004FD RID: 1277
473 Char = 16,
474 // Token: 0x040004FE RID: 1278
475 SByte = 32,
476 // Token: 0x040004FF RID: 1279
477 Byte = 64,
478 // Token: 0x04000500 RID: 1280
479 Int16 = 128,
480 // Token: 0x04000501 RID: 1281
481 UInt16 = 256,
482 // Token: 0x04000502 RID: 1282
483 Int32 = 512,
484 // Token: 0x04000503 RID: 1283
485 UInt32 = 1024,
486 // Token: 0x04000504 RID: 1284
487 Int64 = 2048,
488 // Token: 0x04000505 RID: 1285
489 UInt64 = 4096,
490 // Token: 0x04000506 RID: 1286
491 Single = 8192,
492 // Token: 0x04000507 RID: 1287
493 Double = 16384,
494 // Token: 0x04000508 RID: 1288
495 Decimal = 32768,
496 // Token: 0x04000509 RID: 1289
497 DateTime = 65536,
498 // Token: 0x0400050A RID: 1290
499 String = 262144
500 }
501
502 // Token: 0x0200014C RID: 332
505 private sealed class <>c
506 {
507 // Token: 0x06000D18 RID: 3352 RVA: 0x0001C88C File Offset: 0x0001AA8C
508 // Note: this type is marked as 'beforefieldinit'.
509 static <>c()
510 {
511 }
512
513 // Token: 0x06000D19 RID: 3353 RVA: 0x0001C89C File Offset: 0x0001AA9C
514 public <>c()
515 {
516 }
517
518 // Token: 0x06000D1A RID: 3354 RVA: 0x0001C8B0 File Offset: 0x0001AAB0
519 internal bool <SelectProperty>b__2_0(Type t)
520 {
521 if (!true)
522 {
523 }
524 bool flag;
525 return flag;
526 }
527
528 // Token: 0x0400050B RID: 1291
529 public static readonly DefaultBinder.<>c <>9;
530
531 // Token: 0x0400050C RID: 1292
532 public static Predicate<Type> <>9__2_0;
533 }
534 }
535}
class f__AnonymousType0<< Count > j__TPar
BinderState(int[] argsMap, int originalSize, bool isParamArray)
static MethodBase FindMostDerivedNewSlotMeth(MethodBase[] match, int cMatches)
static int FindMostSpecificMethod(MethodBase m1, int[] paramOrder1, Type paramArrayType1, MethodBase m2, int[] paramOrder2, Type paramArrayType2, Type[] types, object[] args)
override FieldInfo BindToField(BindingFlags bindingAttr, FieldInfo[] match, object value, CultureInfo cultureInfo)
static int GetHierarchyDepth(Type t)
static bool CanChangePrimitive(Type source, Type target)
override MethodBase BindToMethod(BindingFlags bindingAttr, MethodBase[] match, object[] args, ParameterModifier[] modifiers, CultureInfo cultureInfo, string[] names, [Out] object state)
override PropertyInfo SelectProperty(BindingFlags bindingAttr, PropertyInfo[] match, Type returnType, Type[] indexes, ParameterModifier[] modifiers)
override MethodBase SelectMethod(BindingFlags bindingAttr, MethodBase[] match, Type[] types, ParameterModifier[] modifiers)
static bool CanConvertPrimitive(RuntimeType source, RuntimeType target)
static bool CompareMethodSigAndName(MethodBase m1, MethodBase m2)
static bool CanConvertPrimitiveObjectToType(object source, RuntimeType type)
static int FindMostSpecificProperty(PropertyInfo cur1, PropertyInfo cur2)
static int FindMostSpecific(ParameterInfo[] p1, int[] paramOrder1, Type paramArrayType1, ParameterInfo[] p2, int[] paramOrder2, Type paramArrayType2, Type[] types, object[] args)
static bool CanPrimitiveWiden(Type source, Type target)
static void ReorderParams(int[] paramOrder, object[] vars)
static bool CreateParamOrder(int[] paramOrder, ParameterInfo[] pars, string[] names)
static MethodBase ExactBinding(MethodBase[] match, Type[] types, ParameterModifier[] modifiers)
override object ChangeType(object value, Type type, CultureInfo cultureInfo)
static DefaultBinder.Primitives[] _primitiveConversions
static int FindMostSpecificType(Type c1, Type c2, Type t)
static bool CompareMethodSig(MethodBase m1, MethodBase m2)
static PropertyInfo ExactPropertyBinding(PropertyInfo[] match, Type returnType, Type[] types, ParameterModifier[] modifiers)
override void ReorderArgumentArray(object[] args, object state)
static int FindMostSpecificField(FieldInfo cur1, FieldInfo cur2)
static string GetResourceString(string key)
bool IsClass
Definition Type.cs:602
bool IsPrimitive
Definition Type.cs:780
new Type GetType()
Definition Type.cs:287
bool IsRuntimeImplemented()
Definition Type.cs:1470