Skip to content
This repository was archived by the owner on Jan 23, 2023. It is now read-only.

Commit 02b5689

Browse files
committed
Change several ValueTask properties to methods (dotnet/coreclr#16691)
These do unsafe casts on an object, and we don't want a debugger's automatic evaluation accidentally invoking them. That means either making them methods or adding [DebuggerBrowsable(DebuggerBrowsableState.Never)], and the former seems cleaner. Signed-off-by: dotnet-bot-corefx-mirror <dotnet-bot@microsoft.com>
1 parent c645f7c commit 02b5689

File tree

3 files changed

+62
-74
lines changed

3 files changed

+62
-74
lines changed

src/Common/src/CoreLib/System/Runtime/CompilerServices/ConfiguredValueTaskAwaitable.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -61,11 +61,11 @@ public void OnCompleted(Action continuation)
6161
{
6262
if (_value.ObjectIsTask)
6363
{
64-
_value.UnsafeTask.ConfigureAwait(_value.ContinueOnCapturedContext).GetAwaiter().OnCompleted(continuation);
64+
_value.UnsafeGetTask().ConfigureAwait(_value.ContinueOnCapturedContext).GetAwaiter().OnCompleted(continuation);
6565
}
6666
else if (_value._obj != null)
6767
{
68-
_value.UnsafeValueTaskSource.OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token,
68+
_value.UnsafeGetValueTaskSource().OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token,
6969
ValueTaskSourceOnCompletedFlags.FlowExecutionContext |
7070
(_value.ContinueOnCapturedContext ? ValueTaskSourceOnCompletedFlags.UseSchedulingContext : ValueTaskSourceOnCompletedFlags.None));
7171
}
@@ -80,11 +80,11 @@ public void UnsafeOnCompleted(Action continuation)
8080
{
8181
if (_value.ObjectIsTask)
8282
{
83-
_value.UnsafeTask.ConfigureAwait(_value.ContinueOnCapturedContext).GetAwaiter().UnsafeOnCompleted(continuation);
83+
_value.UnsafeGetTask().ConfigureAwait(_value.ContinueOnCapturedContext).GetAwaiter().UnsafeOnCompleted(continuation);
8484
}
8585
else if (_value._obj != null)
8686
{
87-
_value.UnsafeValueTaskSource.OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token,
87+
_value.UnsafeGetValueTaskSource().OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token,
8888
_value.ContinueOnCapturedContext ? ValueTaskSourceOnCompletedFlags.UseSchedulingContext : ValueTaskSourceOnCompletedFlags.None);
8989
}
9090
else
@@ -98,11 +98,11 @@ void IValueTaskAwaiter.AwaitUnsafeOnCompleted(IAsyncStateMachineBox box)
9898
{
9999
if (_value.ObjectIsTask)
100100
{
101-
TaskAwaiter.UnsafeOnCompletedInternal(_value.UnsafeTask, box, _value.ContinueOnCapturedContext);
101+
TaskAwaiter.UnsafeOnCompletedInternal(_value.UnsafeGetTask(), box, _value.ContinueOnCapturedContext);
102102
}
103103
else if (_value._obj != null)
104104
{
105-
_value.UnsafeValueTaskSource.OnCompleted(ValueTaskAwaiter.s_invokeAsyncStateMachineBox, box, _value._token,
105+
_value.UnsafeGetValueTaskSource().OnCompleted(ValueTaskAwaiter.s_invokeAsyncStateMachineBox, box, _value._token,
106106
_value.ContinueOnCapturedContext ? ValueTaskSourceOnCompletedFlags.UseSchedulingContext : ValueTaskSourceOnCompletedFlags.None);
107107
}
108108
else
@@ -163,11 +163,11 @@ public void OnCompleted(Action continuation)
163163
{
164164
if (_value.ObjectIsTask)
165165
{
166-
_value.UnsafeTask.ConfigureAwait(_value.ContinueOnCapturedContext).GetAwaiter().OnCompleted(continuation);
166+
_value.UnsafeGetTask().ConfigureAwait(_value.ContinueOnCapturedContext).GetAwaiter().OnCompleted(continuation);
167167
}
168168
else if (_value._obj != null)
169169
{
170-
_value.UnsafeValueTaskSource.OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token,
170+
_value.UnsafeGetValueTaskSource().OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token,
171171
ValueTaskSourceOnCompletedFlags.FlowExecutionContext |
172172
(_value.ContinueOnCapturedContext ? ValueTaskSourceOnCompletedFlags.UseSchedulingContext : ValueTaskSourceOnCompletedFlags.None));
173173
}
@@ -182,11 +182,11 @@ public void UnsafeOnCompleted(Action continuation)
182182
{
183183
if (_value.ObjectIsTask)
184184
{
185-
_value.UnsafeTask.ConfigureAwait(_value.ContinueOnCapturedContext).GetAwaiter().UnsafeOnCompleted(continuation);
185+
_value.UnsafeGetTask().ConfigureAwait(_value.ContinueOnCapturedContext).GetAwaiter().UnsafeOnCompleted(continuation);
186186
}
187187
else if (_value._obj != null)
188188
{
189-
_value.UnsafeValueTaskSource.OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token,
189+
_value.UnsafeGetValueTaskSource().OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token,
190190
_value.ContinueOnCapturedContext ? ValueTaskSourceOnCompletedFlags.UseSchedulingContext : ValueTaskSourceOnCompletedFlags.None);
191191
}
192192
else
@@ -200,11 +200,11 @@ void IValueTaskAwaiter.AwaitUnsafeOnCompleted(IAsyncStateMachineBox box)
200200
{
201201
if (_value.ObjectIsTask)
202202
{
203-
TaskAwaiter.UnsafeOnCompletedInternal(_value.UnsafeTask, box, _value.ContinueOnCapturedContext);
203+
TaskAwaiter.UnsafeOnCompletedInternal(_value.UnsafeGetTask(), box, _value.ContinueOnCapturedContext);
204204
}
205205
else if (_value._obj != null)
206206
{
207-
_value.UnsafeValueTaskSource.OnCompleted(ValueTaskAwaiter.s_invokeAsyncStateMachineBox, box, _value._token,
207+
_value.UnsafeGetValueTaskSource().OnCompleted(ValueTaskAwaiter.s_invokeAsyncStateMachineBox, box, _value._token,
208208
_value.ContinueOnCapturedContext ? ValueTaskSourceOnCompletedFlags.UseSchedulingContext : ValueTaskSourceOnCompletedFlags.None);
209209
}
210210
else

src/Common/src/CoreLib/System/Runtime/CompilerServices/ValueTaskAwaiter.cs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,11 +50,11 @@ public void OnCompleted(Action continuation)
5050
{
5151
if (_value.ObjectIsTask)
5252
{
53-
_value.UnsafeTask.GetAwaiter().OnCompleted(continuation);
53+
_value.UnsafeGetTask().GetAwaiter().OnCompleted(continuation);
5454
}
5555
else if (_value._obj != null)
5656
{
57-
_value.UnsafeValueTaskSource.OnCompleted(s_invokeActionDelegate, continuation, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext | ValueTaskSourceOnCompletedFlags.FlowExecutionContext);
57+
_value.UnsafeGetValueTaskSource().OnCompleted(s_invokeActionDelegate, continuation, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext | ValueTaskSourceOnCompletedFlags.FlowExecutionContext);
5858
}
5959
else
6060
{
@@ -67,11 +67,11 @@ public void UnsafeOnCompleted(Action continuation)
6767
{
6868
if (_value.ObjectIsTask)
6969
{
70-
_value.UnsafeTask.GetAwaiter().UnsafeOnCompleted(continuation);
70+
_value.UnsafeGetTask().GetAwaiter().UnsafeOnCompleted(continuation);
7171
}
7272
else if (_value._obj != null)
7373
{
74-
_value.UnsafeValueTaskSource.OnCompleted(s_invokeActionDelegate, continuation, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext);
74+
_value.UnsafeGetValueTaskSource().OnCompleted(s_invokeActionDelegate, continuation, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext);
7575
}
7676
else
7777
{
@@ -84,11 +84,11 @@ void IValueTaskAwaiter.AwaitUnsafeOnCompleted(IAsyncStateMachineBox box)
8484
{
8585
if (_value.ObjectIsTask)
8686
{
87-
TaskAwaiter.UnsafeOnCompletedInternal(_value.UnsafeTask, box, continueOnCapturedContext: true);
87+
TaskAwaiter.UnsafeOnCompletedInternal(_value.UnsafeGetTask(), box, continueOnCapturedContext: true);
8888
}
8989
else if (_value._obj != null)
9090
{
91-
_value.UnsafeValueTaskSource.OnCompleted(s_invokeAsyncStateMachineBox, box, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext);
91+
_value.UnsafeGetValueTaskSource().OnCompleted(s_invokeAsyncStateMachineBox, box, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext);
9292
}
9393
else
9494
{
@@ -141,11 +141,11 @@ public void OnCompleted(Action continuation)
141141
{
142142
if (_value.ObjectIsTask)
143143
{
144-
_value.UnsafeTask.GetAwaiter().OnCompleted(continuation);
144+
_value.UnsafeGetTask().GetAwaiter().OnCompleted(continuation);
145145
}
146146
else if (_value._obj != null)
147147
{
148-
_value.UnsafeValueTaskSource.OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext | ValueTaskSourceOnCompletedFlags.FlowExecutionContext);
148+
_value.UnsafeGetValueTaskSource().OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext | ValueTaskSourceOnCompletedFlags.FlowExecutionContext);
149149
}
150150
else
151151
{
@@ -158,11 +158,11 @@ public void UnsafeOnCompleted(Action continuation)
158158
{
159159
if (_value.ObjectIsTask)
160160
{
161-
_value.UnsafeTask.GetAwaiter().UnsafeOnCompleted(continuation);
161+
_value.UnsafeGetTask().GetAwaiter().UnsafeOnCompleted(continuation);
162162
}
163163
else if (_value._obj != null)
164164
{
165-
_value.UnsafeValueTaskSource.OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext);
165+
_value.UnsafeGetValueTaskSource().OnCompleted(ValueTaskAwaiter.s_invokeActionDelegate, continuation, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext);
166166
}
167167
else
168168
{
@@ -175,11 +175,11 @@ void IValueTaskAwaiter.AwaitUnsafeOnCompleted(IAsyncStateMachineBox box)
175175
{
176176
if (_value.ObjectIsTask)
177177
{
178-
TaskAwaiter.UnsafeOnCompletedInternal(_value.UnsafeTask, box, continueOnCapturedContext: true);
178+
TaskAwaiter.UnsafeOnCompletedInternal(_value.UnsafeGetTask(), box, continueOnCapturedContext: true);
179179
}
180180
else if (_value._obj != null)
181181
{
182-
_value.UnsafeValueTaskSource.OnCompleted(ValueTaskAwaiter.s_invokeAsyncStateMachineBox, box, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext);
182+
_value.UnsafeGetValueTaskSource().OnCompleted(ValueTaskAwaiter.s_invokeAsyncStateMachineBox, box, _value._token, ValueTaskSourceOnCompletedFlags.UseSchedulingContext);
183183
}
184184
else
185185
{

0 commit comments

Comments
 (0)