Skip to content

Commit f827454

Browse files
Remove usage of task extension in rename tracking (#76462)
2 parents dad234d + 3d2d26b commit f827454

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

src/EditorFeatures/Core/RenameTracking/RenameTrackingTaggerProvider.TrackingSession.cs

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -129,17 +129,21 @@ internal void CheckNewIdentifier(StateMachine stateMachine, ITextSnapshot snapsh
129129
{
130130
_threadingContext.ThrowIfNotOnUIThread();
131131

132-
_newIdentifierBindsTask = _isRenamableIdentifierTask.SafeContinueWithFromAsync(
133-
async t => t.Result != TriggerIdentifierKind.NotRenamable &&
134-
TriggerIdentifierKind.RenamableReference ==
135-
await DetermineIfRenamableIdentifierAsync(
136-
TrackingSpan.GetSpan(snapshot),
137-
initialCheck: false).ConfigureAwait(false),
138-
_cancellationToken,
139-
TaskContinuationOptions.OnlyOnRanToCompletion,
140-
TaskScheduler.Default);
132+
_newIdentifierBindsTask = DetermineIfNewIdentifierBindsAsync(_isRenamableIdentifierTask);
133+
_newIdentifierBindsTask.ReportNonFatalErrorAsync();
141134

142135
QueueUpdateToStateMachine(stateMachine, _newIdentifierBindsTask);
136+
137+
async Task<bool> DetermineIfNewIdentifierBindsAsync(Task<TriggerIdentifierKind> isRenamableIdentifierTask)
138+
{
139+
// Ensure we do this work on a BG thread.
140+
await TaskScheduler.Default;
141+
var isRenamableIdentifier = await isRenamableIdentifierTask.ConfigureAwait(false);
142+
return isRenamableIdentifier != TriggerIdentifierKind.NotRenamable &&
143+
TriggerIdentifierKind.RenamableReference == await DetermineIfRenamableIdentifierAsync(
144+
TrackingSpan.GetSpan(snapshot),
145+
initialCheck: false).ConfigureAwait(false);
146+
}
143147
}
144148

145149
internal bool IsDefinitelyRenamableIdentifier()

0 commit comments

Comments
 (0)