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

◆ IEnumerator [7/8]

class<OfTypeIterator> System.Linq.Enumerable.IEnumerator
setprivate

Definition at line 2295 of file Enumerable.cs.

2296 {
2297 // Token: 0x060000D1 RID: 209 RVA: 0x00003628 File Offset: 0x00001828
2300 {
2301 this.<>1__state = <>1__state;
2304 }
2305
2306 // Token: 0x060000D2 RID: 210 RVA: 0x00003654 File Offset: 0x00001854
2308 void IDisposable.Dispose()
2309 {
2310 int num = this.<>1__state;
2311 }
2312
2313 // Token: 0x060000D3 RID: 211 RVA: 0x0000366C File Offset: 0x0000186C
2314 private bool MoveNext()
2315 {
2316 int num = this.<>1__state;
2317 if (num != 0)
2318 {
2319 throw new OutOfMemoryException();
2320 }
2321 IEnumerable enumerable = this.<>3__source;
2322 this.<>1__state = num;
2323 if (enumerable == null)
2324 {
2325 }
2326 if (enumerable != null && enumerable == null)
2327 {
2328 throw new InvalidCastException();
2329 }
2330 if (enumerable == null || enumerable != null)
2331 {
2332 }
2333 throw new InvalidCastException();
2334 }
2335
2336 // Token: 0x060000D4 RID: 212 RVA: 0x000036C0 File Offset: 0x000018C0
2337 private void <>m__Finally1()
2338 {
2339 int num = 1;
2340 this.<>1__state = num;
2341 }
2342
2343 // Token: 0x1700001B RID: 27
2344 // (get) Token: 0x060000D5 RID: 213 RVA: 0x00002050 File Offset: 0x00000250
2346 {
2348 get
2349 {
2350 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
2351 }
2352 }
2353
2354 // Token: 0x060000D6 RID: 214 RVA: 0x00002050 File Offset: 0x00000250
2356 void IEnumerator.Reset()
2357 {
2358 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
2359 }
2360
2361 // Token: 0x1700001C RID: 28
2362 // (get) Token: 0x060000D7 RID: 215 RVA: 0x00002050 File Offset: 0x00000250
2363 object IEnumerator.Current
2364 {
2366 get
2367 {
2368 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
2369 }
2370 }
2371
2372 // Token: 0x060000D8 RID: 216 RVA: 0x000036D8 File Offset: 0x000018D8
2375 {
2376 /*
2377An exception occurred when decompiling this method (060000D8)
2378
2379ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1<TResult> System.Linq.Enumerable/<OfTypeIterator>d__97`1::System.Collections.Generic.IEnumerable<TResult>.GetEnumerator()
2380
2381 ---> System.Exception: Basic block has to end with unconditional control flow.
2382{
2383 Block_0:
2384 stloc:int32(var_0_06, ldfld:int32('<OfTypeIterator>d__97`1'::<>1__state, ldloc:'<OfTypeIterator>d__97`1'(this)))
2385 stloc:IEnumerable(var_1_0D, ldfld:IEnumerable('<OfTypeIterator>d__97`1'::source, ldloc:'<OfTypeIterator>d__97`1'(this)))
2386 stloc:int32(var_3_15, callgetter:int32(Environment::get_CurrentManagedThreadId))
2387 stloc:IEnumerable(var_4_1C, ldfld:IEnumerable('<OfTypeIterator>d__97`1'::source, ldloc:'<OfTypeIterator>d__97`1'(this)))
2388 stloc:IEnumerable(var_5_24, ldfld:IEnumerable('<OfTypeIterator>d__97`1'::source, ldloc:'<OfTypeIterator>d__97`1'(this)))
2389 stloc:IEnumerator(var_6_2C, ldfld:IEnumerator('<OfTypeIterator>d__97`1'::<>7__wrap1, ldloc:'<OfTypeIterator>d__97`1'(this)))
2390}
2391
2392 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
2393 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
2394 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
2395 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
2396 --- End of inner exception stack trace ---
2397 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
2398 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
2399*/;
2400 }
2401
2402 // Token: 0x060000D9 RID: 217 RVA: 0x00002050 File Offset: 0x00000250
2405 {
2406 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
2407 }
2408
2409 // Token: 0x04000065 RID: 101
2410 private int <>1__state;
2411
2412 // Token: 0x04000066 RID: 102
2413 private TResult <>2__current;
2414
2415 // Token: 0x04000067 RID: 103
2416 private int <>l__initialThreadId;
2417
2418 // Token: 0x04000068 RID: 104
2419 private IEnumerable source;
2420
2421 // Token: 0x04000069 RID: 105
2422 public IEnumerable <>3__source;
2423
2424 // Token: 0x0400006A RID: 106
2425 private IEnumerator <>7__wrap1;
2426 }
class f__AnonymousType0<< Count > j__TPar
static int CurrentManagedThreadId