@@ -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