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
ReflectionUtils.cs
Go to the documentation of this file.
1using System;
11
13{
14 // Token: 0x02000070 RID: 112
15 [Preserve]
16 internal static class ReflectionUtils
17 {
18 // Token: 0x060003ED RID: 1005 RVA: 0x0000AF38 File Offset: 0x00009138
20 {
21 if (!true)
22 {
23 }
24 }
25
26 // Token: 0x060003EE RID: 1006 RVA: 0x0000AF48 File Offset: 0x00009148
27 public static bool IsVirtual(this PropertyInfo propertyInfo)
28 {
29 ValidationUtils.ArgumentNotNull("propertyInfo", "propertyInfo");
31 if (methodInfo != null)
32 {
34 }
36 if (methodInfo2 != null)
37 {
39 return true;
40 }
41 }
42
43 // Token: 0x060003EF RID: 1007 RVA: 0x0000AF7C File Offset: 0x0000917C
45 {
46 ValidationUtils.ArgumentNotNull("propertyInfo", "propertyInfo");
49 if (methodInfo != null || methodInfo2 != null)
50 {
51 return methodInfo2;
52 }
53 return methodInfo2;
54 }
55
56 // Token: 0x060003F0 RID: 1008 RVA: 0x0000AFA4 File Offset: 0x000091A4
57 public static bool IsPublic(PropertyInfo property)
58 {
60 if (methodInfo != null)
61 {
64 }
66 if (methodInfo3 != null)
67 {
70 return true;
71 }
72 }
73
74 // Token: 0x060003F1 RID: 1009 RVA: 0x0000AFCC File Offset: 0x000091CC
75 public static Type GetObjectType(object v)
76 {
77 Type type;
78 return type;
79 }
80
81 // Token: 0x060003F2 RID: 1010 RVA: 0x0000AFDC File Offset: 0x000091DC
83 {
84 while (t != null)
85 {
86 }
87 string text;
88 return text;
89 }
90
91 // Token: 0x060003F3 RID: 1011 RVA: 0x0000AFF0 File Offset: 0x000091F0
92 private static string RemoveAssemblyDetails(string fullyQualifiedTypeName)
93 {
94 }
95
96 // Token: 0x060003F4 RID: 1012 RVA: 0x0000B008 File Offset: 0x00009208
97 public static bool HasDefaultConstructor(Type t, bool nonPublic)
98 {
100 return true;
101 }
102
103 // Token: 0x060003F5 RID: 1013 RVA: 0x0000B028 File Offset: 0x00009228
105 {
106 if (!true)
107 {
108 }
110 return constructorInfo;
111 }
112
113 // Token: 0x060003F6 RID: 1014 RVA: 0x0000B03C File Offset: 0x0000923C
115 {
116 if (t == null)
117 {
118 }
120 return constructorInfo;
121 }
122
123 // Token: 0x060003F7 RID: 1015 RVA: 0x0000B050 File Offset: 0x00009250
124 public static bool IsNullable(Type t)
125 {
127 bool flag;
128 return flag;
129 }
130
131 // Token: 0x060003F8 RID: 1016 RVA: 0x0000B070 File Offset: 0x00009270
132 public static bool IsNullableType(Type t)
133 {
134 /*
135An exception occurred when decompiling this method (060003F8)
136
137ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Newtonsoft.Json.Utilities.ReflectionUtils::IsNullableType(System.Type)
138
139 ---> System.Exception: Basic block has to end with unconditional control flow.
140{
141 Block_0:
142 call:void(ValidationUtils::ArgumentNotNull, ldstr:string[exp:object]("t"), ldstr:string("t"))
143}
144
145 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
146 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
147 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
148 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
149 --- End of inner exception stack trace ---
150 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
151 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
152*/;
153 }
154
155 // Token: 0x060003F9 RID: 1017 RVA: 0x0000B090 File Offset: 0x00009290
157 {
158 if (!true)
159 {
160 }
161 Type type;
162 return type;
163 }
164
165 // Token: 0x060003FA RID: 1018 RVA: 0x0000B0A4 File Offset: 0x000092A4
167 {
168 }
169
170 // Token: 0x060003FB RID: 1019 RVA: 0x0000B0B4 File Offset: 0x000092B4
172 {
173 if (!true)
174 {
175 }
176 bool flag;
177 return flag;
178 }
179
180 // Token: 0x060003FC RID: 1020 RVA: 0x0000B0C8 File Offset: 0x000092C8
182 {
183 /*
184An exception occurred when decompiling this method (060003FC)
185
186ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Newtonsoft.Json.Utilities.ReflectionUtils::ImplementsGenericDefinition(System.Type,System.Type,System.Type)
187
188 ---> System.Exception: Basic block has to end with unconditional control flow.
189{
190 Block_0:
191 call:void(ValidationUtils::ArgumentNotNull, ldstr:string[exp:object]("genericInterfaceDefinition"), ldstr:string("type"))
192 call:void(ValidationUtils::ArgumentNotNull, ldloc:Type[exp:object](type), ldstr:string("type"))
193 stloc:bool(var_0_20, callgetter:bool(Type::get_IsInterface, ldloc:Type(type)))
194 stloc:bool(var_1_27, callgetter:bool(Type::get_IsInterface, ldloc:Type(type)))
195 stloc:CultureInfo(var_7_3A, callgetter:CultureInfo(CultureInfo::get_InvariantCulture))
196}
197
198 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
199 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
200 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
201 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
202 --- End of inner exception stack trace ---
203 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
204 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
205*/;
206 }
207
208 // Token: 0x060003FD RID: 1021 RVA: 0x0000B110 File Offset: 0x00009310
210 {
211 if (!true)
212 {
213 }
214 bool flag;
215 return flag;
216 }
217
218 // Token: 0x060003FE RID: 1022 RVA: 0x0000B124 File Offset: 0x00009324
220 {
221 ValidationUtils.ArgumentNotNull("genericClassDefinition", "type");
222 ValidationUtils.ArgumentNotNull(type, "genericClassDefinition");
223 bool isClass = type.IsClass;
224 bool flag;
225 return flag;
226 }
227
228 // Token: 0x060003FF RID: 1023 RVA: 0x0000B16C File Offset: 0x0000936C
233
234 // Token: 0x06000400 RID: 1024 RVA: 0x0000B17C File Offset: 0x0000937C
235 public static Type GetCollectionItemType(Type type)
236 {
237 ValidationUtils.ArgumentNotNull("type", "type");
238 Type type2;
239 return type2;
240 }
241
242 // Token: 0x06000401 RID: 1025 RVA: 0x0000B1A8 File Offset: 0x000093A8
244 {
246 if (!true)
247 {
248 }
249 Type type;
251 }
252
253 // Token: 0x06000402 RID: 1026 RVA: 0x0000B1E8 File Offset: 0x000093E8
255 {
256 ValidationUtils.ArgumentNotNull("member", "member");
257 return "member";
258 }
259
260 // Token: 0x06000403 RID: 1027 RVA: 0x0000B224 File Offset: 0x00009424
262 {
263 ValidationUtils.ArgumentNotNull("member", "member");
264 bool flag;
265 return flag;
266 }
267
268 // Token: 0x06000404 RID: 1028 RVA: 0x0000B244 File Offset: 0x00009444
270 {
271 ValidationUtils.ArgumentNotNull("property", "property");
272 return "property" != null;
273 }
274
275 // Token: 0x06000405 RID: 1029 RVA: 0x0000B268 File Offset: 0x00009468
276 public static object GetMemberValue(MemberInfo member, object target)
277 {
278 ValidationUtils.ArgumentNotNull("member", "member");
282 string text = "MemberInfo '{0}' is not of type FieldInfo or PropertyInfo".FormatWith(invariantCulture, invariantCulture2, invariantCulture2);
283 throw new InvalidCastException();
284 }
285
286 // Token: 0x06000406 RID: 1030 RVA: 0x0000B2D8 File Offset: 0x000094D8
287 public static void SetMemberValue(MemberInfo member, object target, object value)
288 {
290 ValidationUtils.ArgumentNotNull(target, "target");
291 }
292
293 // Token: 0x06000407 RID: 1031 RVA: 0x0000B318 File Offset: 0x00009518
295 {
296 bool flag;
297 return flag;
298 }
299
300 // Token: 0x06000408 RID: 1032 RVA: 0x0000B334 File Offset: 0x00009534
302 {
303 bool flag;
304 return flag;
305 }
306
307 // Token: 0x06000409 RID: 1033 RVA: 0x0000B350 File Offset: 0x00009550
309 {
310 if (10 == 0)
311 {
312 }
313 if (!false)
314 {
315 return "Item";
316 }
317 throw new OutOfMemoryException();
318 }
319
320 // Token: 0x0600040A RID: 1034 RVA: 0x0000B394 File Offset: 0x00009594
322 {
323 if (!true)
324 {
325 }
326 bool flag;
327 if (flag)
328 {
330 }
331 throw new InvalidCastException();
332 }
333
334 // Token: 0x0600040B RID: 1035 RVA: 0x0000B3B8 File Offset: 0x000095B8
336 {
337 /*
338An exception occurred when decompiling this method (0600040B)
339
340ICSharpCode.Decompiler.DecompilerException: Error decompiling T Newtonsoft.Json.Utilities.ReflectionUtils::GetAttribute<T>(System.Object)
341
342 ---> System.Exception: Basic block has to end with unconditional control flow.
343{
344 IL_0000:
345 brtrue(IL_0000, ldc.i4:bool(1))
346}
347
348 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
349 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
350 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
351 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
352 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
353 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
354 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
355 --- End of inner exception stack trace ---
356 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
357 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
358*/;
359 }
360
361 // Token: 0x0600040C RID: 1036 RVA: 0x0000B3C8 File Offset: 0x000095C8
363 {
364 /*
365An exception occurred when decompiling this method (0600040C)
366
367ICSharpCode.Decompiler.DecompilerException: Error decompiling T Newtonsoft.Json.Utilities.ReflectionUtils::GetAttribute<T>(System.Object,System.Boolean)
368
369 ---> System.Exception: Basic block has to end with unconditional control flow.
370{
371 IL_0000:
372 brtrue(IL_0000, ldc.i4:bool(1))
373}
374
375 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
376 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
377 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
378 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
379 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
380 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
381 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
382 --- End of inner exception stack trace ---
383 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
384 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
385*/;
386 }
387
388 // Token: 0x0600040D RID: 1037 RVA: 0x0000B3D8 File Offset: 0x000095D8
389 public static T[] GetAttributes<T>(object attributeProvider, bool inherit) where T : Attribute
390 {
391 /*
392An exception occurred when decompiling this method (0600040D)
393
394ICSharpCode.Decompiler.DecompilerException: Error decompiling T[] Newtonsoft.Json.Utilities.ReflectionUtils::GetAttributes<T>(System.Object,System.Boolean)
395
396 ---> System.Exception: Basic block has to end with unconditional control flow.
397{
398 IL_0000:
399 brtrue(IL_0000, logicnot:bool(ldloc:class [mscorlib]System.Attribute[][exp:bool](var_1)))
400}
401
402 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
403 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
404 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
405 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
406 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
407 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
408 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
409 --- End of inner exception stack trace ---
410 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
411 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
412*/;
413 }
414
415 // Token: 0x0600040E RID: 1038 RVA: 0x0000B3E8 File Offset: 0x000095E8
417 {
418 ValidationUtils.ArgumentNotNull("attributeProvider", "attributeProvider");
419 if ("attributeProvider" == null)
420 {
421 throw new InvalidCastException();
422 }
423 if (attributeProvider != null)
424 {
425 }
426 long num;
427 long value = num.m_value;
428 if (attributeProvider != null)
429 {
430 if (attributeProvider != null)
431 {
433 return array;
434 }
436 return array2;
437 }
438 else
439 {
441 if (array3 != null)
442 {
443 return array3;
444 }
445 return array3;
446 }
447 }
448
449 // Token: 0x0600040F RID: 1039 RVA: 0x0000B450 File Offset: 0x00009650
450 public static void SplitFullyQualifiedTypeName(string fullyQualifiedTypeName, [Out] string typeName, [Out] string assemblyName)
451 {
452 if (!true)
453 {
454 }
456 long num = 0L;
457 string text = fullyQualifiedTypeName.Substring((int)num, 43159552);
458 long num2 = 0L;
459 string text2 = text.Trim();
460 int stringLength = fullyQualifiedTypeName._stringLength;
461 string text3 = fullyQualifiedTypeName.Substring((int)num2, 43159552).Trim();
462 }
463
464 // Token: 0x06000410 RID: 1040 RVA: 0x0000B4A0 File Offset: 0x000096A0
466 {
467 for (;;)
468 {
469 long num = 0L;
470 if (num != 0L)
471 {
472 return;
473 }
474 }
475 }
476
477 // Token: 0x06000411 RID: 1041 RVA: 0x0000B4B8 File Offset: 0x000096B8
483
484 // Token: 0x06000412 RID: 1042 RVA: 0x0000212A File Offset: 0x0000032A
486 {
487 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
488 }
489
490 // Token: 0x06000413 RID: 1043 RVA: 0x0000B4CC File Offset: 0x000096CC
492 {
493 if (targetType != null)
494 {
495 while (targetType != null)
496 {
497 }
498 }
499 }
500
501 // Token: 0x06000414 RID: 1044 RVA: 0x0000B4E0 File Offset: 0x000096E0
503 {
504 ValidationUtils.ArgumentNotNull("targetType", "targetType");
506 if (memberInfo != null)
507 {
508 }
509 throw new InvalidCastException();
510 }
511
512 // Token: 0x06000415 RID: 1045 RVA: 0x0000212A File Offset: 0x0000032A
514 {
515 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
516 }
517
518 // Token: 0x06000416 RID: 1046 RVA: 0x0000B508 File Offset: 0x00009708
520 {
521 if (targetType != null)
522 {
523 return;
524 }
525 }
526
527 // Token: 0x06000417 RID: 1047 RVA: 0x0000B524 File Offset: 0x00009724
528 public static bool IsMethodOverridden(Type currentType, Type methodDeclaringType, string method)
529 {
530 bool flag;
531 return flag;
532 }
533
534 // Token: 0x06000418 RID: 1048 RVA: 0x0000B534 File Offset: 0x00009734
535 public static object GetDefaultValue(Type type)
536 {
537 object obj;
538 return obj;
539 }
540
541 // Token: 0x040001FA RID: 506
542 public static readonly Type[] EmptyTypes;
543
544 // Token: 0x02000071 RID: 113
547 private sealed class <>c
548 {
549 // Token: 0x06000419 RID: 1049 RVA: 0x0000B548 File Offset: 0x00009748
550 // Note: this type is marked as 'beforefieldinit'.
551 static <>c()
552 {
553 }
554
555 // Token: 0x0600041A RID: 1050 RVA: 0x0000B558 File Offset: 0x00009758
556 public <>c()
557 {
558 }
559
560 // Token: 0x0600041B RID: 1051 RVA: 0x0000B56C File Offset: 0x0000976C
562 {
563 bool flag;
564 return flag;
565 }
566
567 // Token: 0x0600041C RID: 1052 RVA: 0x0000212A File Offset: 0x0000032A
569 {
570 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
571 }
572
573 // Token: 0x0600041D RID: 1053 RVA: 0x0000212A File Offset: 0x0000032A
575 {
576 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
577 }
578
579 // Token: 0x0600041E RID: 1054 RVA: 0x0000B57C File Offset: 0x0000977C
581 {
582 return f.IsPrivate;
583 }
584
585 // Token: 0x040001FB RID: 507
586 public static readonly ReflectionUtils.<>c <>9;
587
588 // Token: 0x040001FC RID: 508
589 public static Func<ConstructorInfo, bool> <>9__10_0;
590
591 // Token: 0x040001FD RID: 509
592 public static Func<MemberInfo, string> <>9__29_0;
593
594 // Token: 0x040001FE RID: 510
595 public static Func<ParameterInfo, Type> <>9__37_0;
596
597 // Token: 0x040001FF RID: 511
598 public static Func<FieldInfo, bool> <>9__39_0;
599 }
600
601 // Token: 0x02000072 RID: 114
603 private sealed class <>c__DisplayClass42_0
604 {
605 // Token: 0x0600041F RID: 1055 RVA: 0x0000B590 File Offset: 0x00009790
607 {
608 }
609
610 // Token: 0x06000420 RID: 1056 RVA: 0x0000B5A4 File Offset: 0x000097A4
612 {
614 bool flag;
615 return flag;
616 }
617
618 // Token: 0x06000421 RID: 1057 RVA: 0x0000B5BC File Offset: 0x000097BC
620 {
621 /*
622An exception occurred when decompiling this method (06000421)
623
624ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Newtonsoft.Json.Utilities.ReflectionUtils/<>c__DisplayClass42_0::<GetChildPrivateProperties>b__1(System.Reflection.PropertyInfo)
625
626 ---> System.Exception: Basic block has to end with unconditional control flow.
627{
628 Block_0:
629 stloc:PropertyInfo(var_0_06, ldfld:PropertyInfo('<>c__DisplayClass42_0'::subTypeProperty, ldloc:'<>c__DisplayClass42_0'(this)))
630 stloc:PropertyInfo(var_2_0D, ldfld:PropertyInfo('<>c__DisplayClass42_0'::subTypeProperty, ldloc:'<>c__DisplayClass42_0'(this)))
631}
632
633 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
634 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
635 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
636 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
637 --- End of inner exception stack trace ---
638 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
639 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
640*/;
641 }
642
643 // Token: 0x06000422 RID: 1058 RVA: 0x0000B5D8 File Offset: 0x000097D8
645 {
647 if (propertyInfo == null)
648 {
649 }
650 bool flag = p.IsVirtual();
651 if (propertyInfo == null)
652 {
653 }
654 if (p.GetBaseDefinition() != null)
655 {
656 if (propertyInfo == null)
657 {
658 }
659 MethodInfo baseDefinition = p.GetBaseDefinition();
661 return;
662 }
663 }
664
665 // Token: 0x04000200 RID: 512
667 }
668
669 // Token: 0x02000073 RID: 115
671 private sealed class <>c__DisplayClass43_0
672 {
673 // Token: 0x06000423 RID: 1059 RVA: 0x0000B61C File Offset: 0x0000981C
675 {
676 }
677
678 // Token: 0x06000424 RID: 1060 RVA: 0x0000B630 File Offset: 0x00009830
680 {
681 /*
682An exception occurred when decompiling this method (06000424)
683
684ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Newtonsoft.Json.Utilities.ReflectionUtils/<>c__DisplayClass43_0::<IsMethodOverridden>b__0(System.Reflection.MethodInfo)
685
686 ---> System.Exception: Basic block has to end with unconditional control flow.
687{
688 Block_0:
689 stloc:string(var_0_06, ldfld:string('<>c__DisplayClass43_0'::method, ldloc:'<>c__DisplayClass43_0'(this)))
690 stloc:Type(var_2_0D, ldfld:Type('<>c__DisplayClass43_0'::methodDeclaringType, ldloc:'<>c__DisplayClass43_0'(this)))
691 stloc:Type(var_3_14, ldfld:Type('<>c__DisplayClass43_0'::methodDeclaringType, ldloc:'<>c__DisplayClass43_0'(this)))
692}
693
694 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
695 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
696 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
697 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
698 --- End of inner exception stack trace ---
699 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
700 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
701*/;
702 }
703
704 // Token: 0x04000201 RID: 513
705 public string method;
706
707 // Token: 0x04000202 RID: 514
709 }
710 }
711}
class f__AnonymousType0<< Count > j__TPar
static bool InheritsGenericDefinition(Type type, Type genericClassDefinition, [Out] Type implementingType)
static bool IsIndexedProperty(MemberInfo member)
static void GetChildPrivateProperties(IList< PropertyInfo > initialProperties, Type targetType, BindingFlags bindingAttr)
static T GetAttribute< T >(object cpp2il__autoParamName__idx_1)
static bool IsIndexedProperty(PropertyInfo property)
static T[] GetAttributes< T >(object attributeProvider, bool inherit)
static bool IsPublic(PropertyInfo property)
static bool CanReadMemberValue(MemberInfo member, bool nonPublic)
static bool IsOverridenGenericMember(MemberInfo memberInfo, BindingFlags bindingAttr)
static Attribute[] GetAttributes(object attributeProvider, Type attributeType, bool inherit)
static List< MemberInfo > GetFieldsAndProperties(Type type, BindingFlags bindingAttr)
static void SplitFullyQualifiedTypeName(string fullyQualifiedTypeName, [Out] string typeName, [Out] string assemblyName)
static bool InheritsGenericDefinitionInternal(Type currentType, Type genericClassDefinition, [Out] Type implementingType)
static ConstructorInfo GetDefaultConstructor(Type t, bool nonPublic)
static bool ImplementsGenericDefinition(Type type, Type genericInterfaceDefinition)
static Type GetMemberUnderlyingType(MemberInfo member)
static bool IsVirtual(this PropertyInfo propertyInfo)
static void GetChildPrivateFields(IList< MemberInfo > initialFields, Type targetType, BindingFlags bindingAttr)
static bool IsMethodOverridden(Type currentType, Type methodDeclaringType, string method)
static void SetMemberValue(MemberInfo member, object target, object value)
static MethodInfo GetBaseDefinition(this PropertyInfo propertyInfo)
static BindingFlags RemoveFlag(this BindingFlags bindingAttr, BindingFlags flag)
static void GetDictionaryKeyValueTypes(Type dictionaryType, [Out] Type keyType, [Out] Type valueType)
static bool HasDefaultConstructor(Type t, bool nonPublic)
static bool IsGenericDefinition(Type type, Type genericInterfaceDefinition)
static object GetMemberValue(MemberInfo member, object target)
static MemberInfo GetMemberInfoFromType(Type targetType, MemberInfo memberInfo)
static IEnumerable< PropertyInfo > GetProperties(Type targetType, BindingFlags bindingAttr)
static bool ImplementsGenericDefinition(Type type, Type genericInterfaceDefinition, [Out] Type implementingType)
static string GetTypeName(Type t, FormatterAssemblyStyle assemblyFormat, SerializationBinder binder)
static bool CanSetMemberValue(MemberInfo member, bool nonPublic, bool canSetReadOnly)
static ? int GetAssemblyDelimiterIndex(string fullyQualifiedTypeName)
static ConstructorInfo GetDefaultConstructor(Type t)
static bool InheritsGenericDefinition(Type type, Type genericClassDefinition)
static IEnumerable< FieldInfo > GetFields(Type targetType, BindingFlags bindingAttr)
static string RemoveAssemblyDetails(string fullyQualifiedTypeName)
static void ArgumentNotNull(object value, string parameterName)
static CultureInfo InvariantCulture
bool IsClass
Definition Type.cs:602