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
ScanFilter.cs
Go to the documentation of this file.
1using System;
9
11{
12 // Token: 0x020000F4 RID: 244
13 [Preserve]
14 internal class ScanFilter : PathFilter
15 {
16 // Token: 0x170001C8 RID: 456
17 // (get) Token: 0x060009F1 RID: 2545 RVA: 0x000186EC File Offset: 0x000168EC
18 // (set) Token: 0x060009F2 RID: 2546 RVA: 0x00018700 File Offset: 0x00016900
19 public string Name
20 {
22 get
23 {
24 return this.<Name>k__BackingField;
25 }
27 set
28 {
30 }
31 }
32
33 // Token: 0x060009F3 RID: 2547 RVA: 0x0000212A File Offset: 0x0000032A
35 {
36 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
37 }
38
39 // Token: 0x060009F4 RID: 2548 RVA: 0x00018714 File Offset: 0x00016914
40 public ScanFilter()
41 {
42 }
43
44 // Token: 0x040003E8 RID: 1000
46 private string <Name>k__BackingField;
47
48 // Token: 0x020000F5 RID: 245
51 {
52 // Token: 0x060009F5 RID: 2549 RVA: 0x00018728 File Offset: 0x00016928
55 {
56 this.<>1__state = <>1__state;
57 int managedThreadId = Thread.CurrentThread.ManagedThreadId;
58 this.<>l__initialThreadId = managedThreadId;
59 }
60
61 // Token: 0x060009F6 RID: 2550 RVA: 0x00018758 File Offset: 0x00016958
63 void IDisposable.Dispose()
64 {
65 int num = this.<>1__state;
66 this.<>m__Finally1();
67 }
68
69 // Token: 0x060009F7 RID: 2551 RVA: 0x00018774 File Offset: 0x00016974
70 private bool MoveNext()
71 {
72 for (;;)
73 {
74 int num = this.<>1__state;
75 this.<>1__state = num;
76 IEnumerable<JToken> enumerable = this.current;
77 this.<>1__state = num;
78 JToken jtoken = this.<root>5__1;
80 this.<root>5__1 = this;
81 if (scanFilter.<Name>k__BackingField == null)
82 {
83 goto IL_0050;
84 }
85 this.<value>5__2 = this;
86 if (this == null)
87 {
88 this.<>m__Finally1();
89 goto IL_0050;
90 }
91 IL_0062:
92 JToken jtoken2 = this.<value>5__2;
93 if (jtoken2 != null)
94 {
95 JToken jtoken3 = this.<root>5__1;
96 JContainer parent = jtoken2._parent;
97 if (this.<value>5__2._parent != null)
98 {
99 continue;
100 }
101 JToken jtoken4 = this.<value>5__2;
102 if (jtoken4 != null)
103 {
104 JToken jtoken5 = this.<root>5__1;
105 JToken jtoken6 = this.<value>5__2;
106 JToken next = jtoken4._next;
107 this.<value>5__2 = next;
108 if (next != null)
109 {
110 }
111 if (this.<>4__this.<Name>k__BackingField == null)
112 {
113 goto IL_00F6;
114 }
115 if (this.<value>5__2 != null)
116 {
117 }
118 if (false)
119 {
120 continue;
121 }
122 }
123 }
124 if (this.<>7__wrap1 == null)
125 {
126 break;
127 }
128 continue;
129 IL_0050:
130 int num2 = 1;
131 this.<>2__current = this;
132 this.<>1__state = num2;
133 goto IL_0062;
134 }
135 string <Name>k__BackingField = this.<>4__this.<Name>k__BackingField;
136 bool flag;
137 return flag;
138 IL_00F6:
139 JToken jtoken7 = this.<value>5__2;
140 int num3 = 3;
141 this.<>1__state = num3;
142 this.<>2__current = jtoken7;
144 throw new OutOfMemoryException();
145 }
146
147 // Token: 0x060009F8 RID: 2552 RVA: 0x000188AC File Offset: 0x00016AAC
148 private void <>m__Finally1()
149 {
150 int num = 1;
151 IEnumerator<JToken> enumerator = this.<>7__wrap1;
152 this.<>1__state = num;
153 if (enumerator != null)
154 {
155 return;
156 }
157 }
158
159 // Token: 0x170001C9 RID: 457
160 // (get) Token: 0x060009F9 RID: 2553 RVA: 0x000188D0 File Offset: 0x00016AD0
162 {
164 get
165 {
166 return this.<>2__current;
167 }
168 }
169
170 // Token: 0x060009FA RID: 2554 RVA: 0x0000212A File Offset: 0x0000032A
172 void IEnumerator.Reset()
173 {
174 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
175 }
176
177 // Token: 0x170001CA RID: 458
178 // (get) Token: 0x060009FB RID: 2555 RVA: 0x000188E4 File Offset: 0x00016AE4
180 {
182 get
183 {
184 /*
185An exception occurred when decompiling this method (060009FB)
186
187ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Object Newtonsoft.Json.Linq.JsonPath.ScanFilter/<ExecuteFilter>d__4::System.Collections.IEnumerator.get_Current()
188
189 ---> System.Exception: Basic block has to end with unconditional control flow.
190{
191 Block_0:
192 stloc:JToken(var_0_06, ldfld:JToken('<ExecuteFilter>d__4'::<>2__current, ldloc:'<ExecuteFilter>d__4'(this)))
193}
194
195 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
196 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
197 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
198 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
199 --- End of inner exception stack trace ---
200 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
201 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
202*/;
203 }
204 }
205
206 // Token: 0x060009FC RID: 2556 RVA: 0x000188F8 File Offset: 0x00016AF8
209 {
210 /*
211An exception occurred when decompiling this method (060009FC)
212
213ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.IEnumerator`1<Newtonsoft.Json.Linq.JToken> Newtonsoft.Json.Linq.JsonPath.ScanFilter/<ExecuteFilter>d__4::System.Collections.Generic.IEnumerable<Newtonsoft.Json.Linq.JToken>.GetEnumerator()
214
215 ---> System.Exception: Basic block has to end with unconditional control flow.
216{
217 Block_0:
218 stloc:int32(var_0_06, ldfld:int32('<ExecuteFilter>d__4'::<>1__state, ldloc:'<ExecuteFilter>d__4'(this)))
219 stloc:int32(var_1_0D, ldfld:int32('<ExecuteFilter>d__4'::<>l__initialThreadId, ldloc:'<ExecuteFilter>d__4'(this)))
220 stloc:int32(var_3_1A, callgetter:int32(Thread::get_ManagedThreadId, callgetter:Thread(Thread::get_CurrentThread)))
221 stloc:ScanFilter(var_5_24, ldfld:ScanFilter('<ExecuteFilter>d__4'::<>4__this, ldloc:'<ExecuteFilter>d__4'(this)))
222 stloc:class [mscorlib]System.Collections.Generic.IEnumerable`1<class Newtonsoft.Json.Linq.JToken>(var_6_2C, ldfld:class [mscorlib]System.Collections.Generic.IEnumerable`1<class Newtonsoft.Json.Linq.JToken>('<ExecuteFilter>d__4'::<>3__current, ldloc:'<ExecuteFilter>d__4'(this)))
223}
224
225 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
226 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
227 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
228 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
229 --- End of inner exception stack trace ---
230 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
231 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
232*/;
233 }
234
235 // Token: 0x060009FD RID: 2557 RVA: 0x00018934 File Offset: 0x00016B34
238 {
239 /*
240An exception occurred when decompiling this method (060009FD)
241
242ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.IEnumerator Newtonsoft.Json.Linq.JsonPath.ScanFilter/<ExecuteFilter>d__4::System.Collections.IEnumerable.GetEnumerator()
243
244 ---> System.Exception: Basic block has to end with unconditional control flow.
245{
246 Block_0:
247 stloc:class [mscorlib]System.Collections.Generic.IEnumerator`1<class Newtonsoft.Json.Linq.JToken>(var_0_06, call:IEnumerator`1[exp:class [mscorlib]System.Collections.Generic.IEnumerator`1<class Newtonsoft.Json.Linq.JToken>]('<ExecuteFilter>d__4'::System.Collections.Generic.IEnumerable<Newtonsoft.Json.Linq.JToken>.GetEnumerator, ldloc:'<ExecuteFilter>d__4'(this)))
248}
249
250 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
251 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
252 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
253 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
254 --- End of inner exception stack trace ---
255 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
256 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
257*/;
258 }
259
260 // Token: 0x040003E9 RID: 1001
261 private int <>1__state;
262
263 // Token: 0x040003EA RID: 1002
264 private JToken <>2__current;
265
266 // Token: 0x040003EB RID: 1003
267 private int <>l__initialThreadId;
268
269 // Token: 0x040003EC RID: 1004
270 private IEnumerable<JToken> current;
271
272 // Token: 0x040003ED RID: 1005
274
275 // Token: 0x040003EE RID: 1006
276 public ScanFilter <>4__this;
277
278 // Token: 0x040003EF RID: 1007
279 private JToken <root>5__1;
280
281 // Token: 0x040003F0 RID: 1008
282 private JToken <value>5__2;
283
284 // Token: 0x040003F1 RID: 1009
285 private IEnumerator<JToken> <>7__wrap1;
286 }
287 }
288}
class f__AnonymousType0<< Count > j__TPar
override IEnumerable< JToken > ExecuteFilter(IEnumerable< JToken > current, bool errorWhenNoMatch)
Definition ScanFilter.cs:34
static Thread CurrentThread
Definition Thread.cs:381