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
AwaitTaskContinuation.cs
Go to the documentation of this file.
1
using
System
;
2
using
Cpp2IlInjected
;
3
using
Internal.Runtime.Augments
;
4
5
namespace
System.Threading.Tasks
6
{
7
// Token: 0x0200024A RID: 586
8
internal
class
AwaitTaskContinuation
:
TaskContinuation
,
IThreadPoolWorkItem
9
{
10
// Token: 0x06001417 RID: 5143 RVA: 0x0002A378 File Offset: 0x00028578
11
internal
AwaitTaskContinuation
(
Action
action
,
bool
flowExecutionContext
)
12
{
13
this.m_action
=
action
;
14
ExecutionContext
executionContext
=
ExecutionContext
.
Capture
();
15
this.m_capturedContext
=
executionContext
;
16
}
17
18
// Token: 0x06001418 RID: 5144 RVA: 0x0000207A File Offset: 0x0000027A
19
protected
Task
CreateTask
(
Action<object>
action
,
object
state
,
TaskScheduler
scheduler)
20
{
21
throw
new
AnalysisFailedException
(
"CPP2IL failed to recover any usable IL for this method."
);
22
}
23
24
// Token: 0x06001419 RID: 5145 RVA: 0x0002A3A4 File Offset: 0x000285A4
25
internal
override
void
Run
(
Task
ignored
,
bool
canInlineContinuationTask
)
26
{
27
bool
isValidLocationForInlining
=
AwaitTaskContinuation
.
IsValidLocationForInlining
;
28
Action
action
= this.
m_action
;
29
}
30
31
// Token: 0x170001F5 RID: 501
32
// (get) Token: 0x0600141A RID: 5146 RVA: 0x0002A3C4 File Offset: 0x000285C4
33
internal
static
bool
IsValidLocationForInlining
34
{
35
get
36
{
37
SynchronizationContext
synchronizationContext
=
SynchronizationContext
.
Current
;
38
if
(
synchronizationContext
!=
null
)
39
{
40
Type
type;
41
bool
flag =
synchronizationContext
.
GetType
() != type;
42
}
43
if
(
TaskScheduler
.
InternalCurrent
==
null
|| !
true
)
44
{
45
}
46
return
true
;
47
}
48
}
49
50
// Token: 0x0600141B RID: 5147 RVA: 0x0002A3F8 File Offset: 0x000285F8
51
void
IThreadPoolWorkItem
.
ExecuteWorkItem
()
52
{
53
Action
action
;
54
if
(this.
m_capturedContext
!=
null
)
55
{
56
action = this.
m_action
;
57
return
;
58
}
59
IntPtr
invoke_impl =
action
.invoke_impl;
60
}
61
62
// Token: 0x0600141C RID: 5148 RVA: 0x0002A420 File Offset: 0x00028620
63
private
static
void
InvokeAction
(
object
state
)
64
{
65
if
(
state
!=
null
)
66
{
67
}
68
}
69
70
// Token: 0x0600141D RID: 5149 RVA: 0x0002A438 File Offset: 0x00028638
71
protected
static
ContextCallback
GetInvokeActionCallback
()
72
{
73
}
74
75
// Token: 0x0600141E RID: 5150 RVA: 0x0002A448 File Offset: 0x00028648
76
protected
void
RunCallback
(
ContextCallback
callback,
object
state
,
Task
currentTask
)
77
{
78
SynchronizationContext
currentExplicit
=
SynchronizationContext
.
CurrentExplicit
;
79
IntPtr
method_code = callback.
method_code
;
80
IntPtr
invoke_impl = callback.
invoke_impl
;
81
IntPtr
method = callback.
method
;
82
long
num = 0
L
;
83
SynchronizationContext
.
SetSynchronizationContext
(
currentExplicit
);
84
if
(num == 0
L
)
85
{
86
return
;
87
}
88
throw
new
OutOfMemoryException
();
89
}
90
91
// Token: 0x0600141F RID: 5151 RVA: 0x0002A4AC File Offset: 0x000286AC
92
internal
static
void
RunOrScheduleAction
(
Action
action
,
bool
allowInlining
,
Task
currentTask
)
93
{
94
bool
isValidLocationForInlining
=
AwaitTaskContinuation
.
IsValidLocationForInlining
;
95
IntPtr
method_code =
action
.method_code;
96
IntPtr
method =
action
.method;
97
IntPtr
invoke_impl =
action
.invoke_impl;
98
if
(!
false
)
99
{
100
return
;
101
}
102
throw
new
OutOfMemoryException
();
103
}
104
105
// Token: 0x06001420 RID: 5152 RVA: 0x0002A4FC File Offset: 0x000286FC
106
internal
static
void
UnsafeScheduleAction
(
Action
action
)
107
{
108
}
109
110
// Token: 0x06001421 RID: 5153 RVA: 0x0002A50C File Offset: 0x0002870C
111
protected
static
void
ThrowAsyncIfNecessary
(
Exception
exc)
112
{
113
if
(!
true
)
114
{
115
}
116
RuntimeAugments
.
ReportUnhandledException
(exc);
117
}
118
119
// Token: 0x06001422 RID: 5154 RVA: 0x0002A524 File Offset: 0x00028724
120
public
void
MarkAborted
(
ThreadAbortException
e)
121
{
122
}
123
124
// Token: 0x04000AB1 RID: 2737
125
private
readonly
ExecutionContext
m_capturedContext
;
126
127
// Token: 0x04000AB2 RID: 2738
128
protected
readonly
Action
m_action
;
129
130
// Token: 0x04000AB3 RID: 2739
131
private
static
ContextCallback
s_invokeActionCallback
;
132
}
133
}
j__TPar
class f__AnonymousType0<< Count > j__TPar
Definition
--f__AnonymousType0.cs:8
Cpp2IlInjected.AnalysisFailedException
Definition
AnalysisFailedException.cs:7
Internal.Runtime.Augments.RuntimeAugments.ReportUnhandledException
static void ReportUnhandledException(Exception exception)
Definition
RuntimeAugments.cs:10
Internal.Runtime.Augments.RuntimeAugments
Definition
RuntimeAugments.cs:8
System.Action
Definition
Action.5.cs:7
System.Delegate.method_code
IntPtr method_code
Definition
Delegate.cs:386
System.Delegate.method
IntPtr method
Definition
Delegate.cs:377
System.Delegate.invoke_impl
IntPtr invoke_impl
Definition
Delegate.cs:371
System.Exception
Definition
Exception.cs:15
System.OutOfMemoryException
Definition
OutOfMemoryException.cs:9
System.Threading.ContextCallback
Definition
ContextCallback.cs:9
System.Threading.ExecutionContext.Capture
static ExecutionContext Capture()
Definition
ExecutionContext.cs:435
System.Threading.ExecutionContext
Definition
ExecutionContext.cs:15
System.Threading.SynchronizationContext.Current
static SynchronizationContext Current
Definition
SynchronizationContext.cs:96
System.Threading.SynchronizationContext.CurrentExplicit
static SynchronizationContext CurrentExplicit
Definition
SynchronizationContext.cs:165
System.Threading.SynchronizationContext.SetSynchronizationContext
static void SetSynchronizationContext(SynchronizationContext syncContext)
Definition
SynchronizationContext.cs:86
System.Threading.SynchronizationContext
Definition
SynchronizationContext.cs:10
System.Threading.Tasks.AwaitTaskContinuation.s_invokeActionCallback
static ContextCallback s_invokeActionCallback
Definition
AwaitTaskContinuation.cs:131
System.Threading.Tasks.AwaitTaskContinuation.ThrowAsyncIfNecessary
static void ThrowAsyncIfNecessary(Exception exc)
Definition
AwaitTaskContinuation.cs:111
System.Threading.Tasks.AwaitTaskContinuation.m_action
readonly Action m_action
Definition
AwaitTaskContinuation.cs:128
System.Threading.Tasks.AwaitTaskContinuation.CreateTask
Task CreateTask(Action< object > action, object state, TaskScheduler scheduler)
Definition
AwaitTaskContinuation.cs:19
System.Threading.Tasks.AwaitTaskContinuation.RunCallback
void RunCallback(ContextCallback callback, object state, Task currentTask)
Definition
AwaitTaskContinuation.cs:76
System.Threading.Tasks.AwaitTaskContinuation.UnsafeScheduleAction
static void UnsafeScheduleAction(Action action)
Definition
AwaitTaskContinuation.cs:106
System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction
static void RunOrScheduleAction(Action action, bool allowInlining, Task currentTask)
Definition
AwaitTaskContinuation.cs:92
System.Threading.Tasks.AwaitTaskContinuation.Run
override void Run(Task ignored, bool canInlineContinuationTask)
Definition
AwaitTaskContinuation.cs:25
System.Threading.Tasks.AwaitTaskContinuation.IsValidLocationForInlining
static bool IsValidLocationForInlining
Definition
AwaitTaskContinuation.cs:34
System.Threading.Tasks.AwaitTaskContinuation.m_capturedContext
readonly ExecutionContext m_capturedContext
Definition
AwaitTaskContinuation.cs:125
System.Threading.Tasks.AwaitTaskContinuation.AwaitTaskContinuation
AwaitTaskContinuation(Action action, bool flowExecutionContext)
Definition
AwaitTaskContinuation.cs:11
System.Threading.Tasks.AwaitTaskContinuation.MarkAborted
void MarkAborted(ThreadAbortException e)
Definition
AwaitTaskContinuation.cs:120
System.Threading.Tasks.AwaitTaskContinuation.InvokeAction
static void InvokeAction(object state)
Definition
AwaitTaskContinuation.cs:63
System.Threading.Tasks.AwaitTaskContinuation.GetInvokeActionCallback
static ContextCallback GetInvokeActionCallback()
Definition
AwaitTaskContinuation.cs:71
System.Threading.Tasks.AwaitTaskContinuation
Definition
AwaitTaskContinuation.cs:9
System.Threading.Tasks.TaskContinuation
Definition
TaskContinuation.cs:7
System.Threading.Tasks.TaskScheduler.InternalCurrent
static TaskScheduler InternalCurrent
Definition
TaskScheduler.cs:116
System.Threading.Tasks.TaskScheduler
Definition
TaskScheduler.cs:11
System.Threading.Tasks.Task
Definition
Task.cs:12
System.Threading.ThreadAbortException
Definition
ThreadAbortException.cs:11
System.Type.GetType
new Type GetType()
Definition
Type.cs:287
System.Type
Definition
Type.cs:12
System.Threading.IThreadPoolWorkItem.ExecuteWorkItem
void ExecuteWorkItem()
System.Threading.IThreadPoolWorkItem
Definition
IThreadPoolWorkItem.cs:7
Cpp2IlInjected
Definition
AnalysisFailedException.cs:4
Internal.Runtime.Augments
Definition
AsyncStatus.cs:4
System.Threading.Tasks
Definition
AsyncCausalityStatus.cs:5
System.ExceptionArgument.action
@ action
System.ExceptionArgument.state
@ state
System.ConsoleKey.L
@ L
System
Definition
__ComObject.cs:4
System.IntPtr
Definition
IntPtr.cs:13
source
mscorlib
System
Threading
Tasks
AwaitTaskContinuation.cs
Generated by
1.10.0