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
LazyAsyncResult.cs
Go to the documentation of this file.
1using System;
6
7namespace System.Net
8{
9 // Token: 0x020001EF RID: 495
11 {
12 // Token: 0x1700027A RID: 634
13 // (get) Token: 0x06000C13 RID: 3091 RVA: 0x00002050 File Offset: 0x00000250
15 {
16 get
17 {
18 throw new global::Cpp2IlInjected.AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
19 }
20 }
21
22 // Token: 0x06000C14 RID: 3092 RVA: 0x000271BC File Offset: 0x000253BC
33
34 // Token: 0x06000C15 RID: 3093 RVA: 0x000271F0 File Offset: 0x000253F0
35 internal LazyAsyncResult(object myObject, object myState, AsyncCallback myCallBack, object result)
36 {
40 this.m_Result = result;
42 if (myCallBack != null)
43 {
44 IntPtr invoke_impl = myCallBack.invoke_impl;
45 IntPtr method_code = myCallBack.method_code;
46 IntPtr method = myCallBack.method;
47 return;
48 }
49 }
50
51 // Token: 0x1700027B RID: 635
52 // (get) Token: 0x06000C16 RID: 3094 RVA: 0x00027240 File Offset: 0x00025440
53 internal object AsyncObject
54 {
55 get
56 {
57 return this.m_AsyncObject;
58 }
59 }
60
61 // Token: 0x1700027C RID: 636
62 // (get) Token: 0x06000C17 RID: 3095 RVA: 0x00027254 File Offset: 0x00025454
63 public object AsyncState
64 {
65 get
66 {
67 return this.m_AsyncState;
68 }
69 }
70
71 // Token: 0x1700027D RID: 637
72 // (get) Token: 0x06000C18 RID: 3096 RVA: 0x00027268 File Offset: 0x00025468
73 // (set) Token: 0x06000C19 RID: 3097 RVA: 0x0002727C File Offset: 0x0002547C
75 {
76 get
77 {
78 return this.m_AsyncCallback;
79 }
80 set
81 {
83 }
84 }
85
86 // Token: 0x1700027E RID: 638
87 // (get) Token: 0x06000C1A RID: 3098 RVA: 0x00027290 File Offset: 0x00025490
89 {
90 get
91 {
92 if (this.m_IntCompleted == 0)
93 {
94 }
95 if (this.m_Event != null)
96 {
97 }
98 bool flag;
99 while (!flag)
100 {
101 }
102 throw new InvalidCastException();
103 }
104 }
105
106 // Token: 0x06000C1B RID: 3099 RVA: 0x000272B8 File Offset: 0x000254B8
107 private bool LazilyCreateEvent([Out] ManualResetEvent waitHandle)
108 {
109 object obj;
110 if (obj != null)
111 {
112 }
113 int intCompleted = this.m_IntCompleted;
114 throw new InvalidCastException();
115 }
116
117 // Token: 0x06000C1C RID: 3100 RVA: 0x000272F0 File Offset: 0x000254F0
118 [Conditional("DEBUG")]
119 protected void DebugProtectState(bool protect)
120 {
121 }
122
123 // Token: 0x1700027F RID: 639
124 // (get) Token: 0x06000C1D RID: 3101 RVA: 0x00027300 File Offset: 0x00025500
126 {
127 get
128 {
129 /*
130An exception occurred when decompiling this method (06000C1D)
131
132ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Net.LazyAsyncResult::get_CompletedSynchronously()
133
134 ---> System.Exception: Basic block has to end with unconditional control flow.
135{
136 IL_0000:
137 brtrue(IL_0000, ldfld:int32[exp:bool](LazyAsyncResult::m_IntCompleted, ldloc:LazyAsyncResult(this)))
138}
139
140 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
141 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
142 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
143 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
144 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
145 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
146 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
147 --- End of inner exception stack trace ---
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 92
149 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
150*/;
151 }
152 }
153
154 // Token: 0x17000280 RID: 640
155 // (get) Token: 0x06000C1E RID: 3102 RVA: 0x00027314 File Offset: 0x00025514
156 public bool IsCompleted
157 {
158 get
159 {
160 /*
161An exception occurred when decompiling this method (06000C1E)
162
163ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Net.LazyAsyncResult::get_IsCompleted()
164
165 ---> System.Exception: Basic block has to end with unconditional control flow.
166{
167 IL_0000:
168 brtrue(IL_0000, ldfld:int32[exp:bool](LazyAsyncResult::m_IntCompleted, ldloc:LazyAsyncResult(this)))
169}
170
171 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
172 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
173 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
174 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
175 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
176 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
177 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
178 --- End of inner exception stack trace ---
179 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
180 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
181*/;
182 }
183 }
184
185 // Token: 0x17000281 RID: 641
186 // (get) Token: 0x06000C1F RID: 3103 RVA: 0x00027328 File Offset: 0x00025528
188 {
189 get
190 {
191 /*
192An exception occurred when decompiling this method (06000C1F)
193
194ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean System.Net.LazyAsyncResult::get_InternalPeekCompleted()
195
196 ---> System.Exception: Basic block has to end with unconditional control flow.
197{
198 Block_0:
199 stloc:int32(var_0_06, ldfld:int32(LazyAsyncResult::m_IntCompleted, ldloc:LazyAsyncResult(this)))
200}
201
202 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
203 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
204 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
205 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
206 --- End of inner exception stack trace ---
207 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
208 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
209*/;
210 }
211 }
212
213 // Token: 0x17000282 RID: 642
214 // (get) Token: 0x06000C20 RID: 3104 RVA: 0x0002733C File Offset: 0x0002553C
215 // (set) Token: 0x06000C21 RID: 3105 RVA: 0x0002735C File Offset: 0x0002555C
216 internal object Result
217 {
218 get
219 {
220 object result = this.m_Result;
221 if (!true)
222 {
223 }
224 return this.m_Result;
225 }
226 set
227 {
229 }
230 }
231
232 // Token: 0x17000283 RID: 643
233 // (get) Token: 0x06000C22 RID: 3106 RVA: 0x00027370 File Offset: 0x00025570
234 // (set) Token: 0x06000C23 RID: 3107 RVA: 0x00027384 File Offset: 0x00025584
235 internal bool EndCalled
236 {
237 get
238 {
239 return this.m_EndCalled;
240 }
241 set
242 {
243 }
244 }
245
246 // Token: 0x17000284 RID: 644
247 // (get) Token: 0x06000C24 RID: 3108 RVA: 0x00027394 File Offset: 0x00025594
248 // (set) Token: 0x06000C25 RID: 3109 RVA: 0x000273A8 File Offset: 0x000255A8
249 internal int ErrorCode
250 {
251 get
252 {
253 return this.m_ErrorCode;
254 }
255 set
256 {
258 }
259 }
260
261 // Token: 0x06000C26 RID: 3110 RVA: 0x000273BC File Offset: 0x000255BC
262 protected void ProtectedInvokeCallback(object result, IntPtr userToken)
263 {
264 if (!true)
265 {
266 }
267 int intCompleted = this.m_IntCompleted;
268 object result2 = this.m_Result;
269 if (intCompleted == 0)
270 {
271 }
272 this.m_Result = result;
273 if (this.m_Event != null)
274 {
275 }
276 }
277
278 // Token: 0x06000C27 RID: 3111 RVA: 0x000273F8 File Offset: 0x000255F8
279 internal void InvokeCallback(object result)
280 {
281 }
282
283 // Token: 0x06000C28 RID: 3112 RVA: 0x00027408 File Offset: 0x00025608
284 internal void InvokeCallback()
285 {
286 }
287
288 // Token: 0x06000C29 RID: 3113 RVA: 0x00027418 File Offset: 0x00025618
289 protected virtual void Complete(IntPtr userToken)
290 {
292 int nestedIOCount = currentThreadContext.m_NestedIOCount;
294 if (asyncCallback != null)
295 {
296 IntPtr method_code = asyncCallback.method_code;
297 IntPtr invoke_impl = asyncCallback.invoke_impl;
298 IntPtr method = asyncCallback.method;
299 }
300 long num = 0L;
301 int nestedIOCount2 = currentThreadContext.m_NestedIOCount;
303 if (num != 0L)
304 {
305 throw new OutOfMemoryException();
306 }
307 }
308
309 // Token: 0x06000C2A RID: 3114 RVA: 0x000274AC File Offset: 0x000256AC
310 private void WorkerThreadComplete(object state)
311 {
313 IntPtr method_code = asyncCallback.method_code;
314 IntPtr invoke_impl = asyncCallback.invoke_impl;
315 IntPtr method = asyncCallback.method;
316 if (!false)
317 {
318 return;
319 }
320 throw new OutOfMemoryException();
321 }
322
323 // Token: 0x06000C2B RID: 3115 RVA: 0x000274F4 File Offset: 0x000256F4
324 protected virtual void Cleanup()
325 {
326 }
327
328 // Token: 0x06000C2C RID: 3116 RVA: 0x00027504 File Offset: 0x00025704
330 {
331 return this.WaitForCompletion(true);
332 }
333
334 // Token: 0x06000C2D RID: 3117 RVA: 0x00027518 File Offset: 0x00025718
335 private object WaitForCompletion(bool snap)
336 {
337 if (this.m_IntCompleted == 0)
338 {
339 }
340 long num;
341 if (!false)
342 {
343 object @event = this.m_Event;
344 if (@event != null)
345 {
346 num = 0L;
347 if (@event != null)
348 {
349 goto IL_0020;
350 }
351 }
352 if (@event == null)
353 {
354 goto IL_008C;
355 }
356 }
357 IL_0020:
358 long num2 = 0L;
359 int num3 = 5;
360 object event2;
361 if (num != 0L && !this.m_UserEvent)
362 {
363 event2 = this.m_Event;
364 if (event2 != null)
365 {
366 }
367 }
368 if (num2 != 0L)
369 {
370 throw new OutOfMemoryException();
371 }
372 if (num3 != 0)
373 {
374 return event2;
375 }
376 Thread.SpinWait(1);
377 IL_008C:
378 object result = this.m_Result;
379 return this.m_Result;
380 }
381
382 // Token: 0x06000C2E RID: 3118 RVA: 0x000275C0 File Offset: 0x000257C0
383 internal void InternalCleanup()
384 {
385 int intCompleted = this.m_IntCompleted;
386 }
387
388 // Token: 0x04000A83 RID: 2691
389 private const int c_HighBit = -2147483648;
390
391 // Token: 0x04000A84 RID: 2692
392 private const int c_ForceAsyncCount = 50;
393
394 // Token: 0x04000A85 RID: 2693
397
398 // Token: 0x04000A86 RID: 2694
399 private object m_AsyncObject;
400
401 // Token: 0x04000A87 RID: 2695
402 private object m_AsyncState;
403
404 // Token: 0x04000A88 RID: 2696
406
407 // Token: 0x04000A89 RID: 2697
408 private object m_Result;
409
410 // Token: 0x04000A8A RID: 2698
411 private int m_ErrorCode;
412
413 // Token: 0x04000A8B RID: 2699
414 private int m_IntCompleted;
415
416 // Token: 0x04000A8C RID: 2700
417 private bool m_EndCalled;
418
419 // Token: 0x04000A8D RID: 2701
420 private bool m_UserEvent;
421
422 // Token: 0x04000A8E RID: 2702
423 private object m_Event;
424
425 // Token: 0x020001F0 RID: 496
426 private class ThreadContext
427 {
428 // Token: 0x06000C2F RID: 3119 RVA: 0x000275D8 File Offset: 0x000257D8
430 {
431 }
432
433 // Token: 0x04000A8F RID: 2703
434 internal int m_NestedIOCount;
435 }
436 }
437}
class f__AnonymousType0<< Count > j__TPar
virtual void Complete(IntPtr userToken)
object WaitForCompletion(bool snap)
LazyAsyncResult(object myObject, object myState, AsyncCallback myCallBack, object result)
static LazyAsyncResult.ThreadContext CurrentThreadContext
static LazyAsyncResult.ThreadContext t_ThreadContext
void ProtectedInvokeCallback(object result, IntPtr userToken)
LazyAsyncResult(object myObject, object myState, AsyncCallback myCallBack)
void WorkerThreadComplete(object state)
bool LazilyCreateEvent([Out] ManualResetEvent waitHandle)
void InvokeCallback(object result)
void DebugProtectState(bool protect)
static void SpinWait(int iterations)
Definition Thread.cs:569