Skip to content

Crashes with NullReferenceException at Microsoft.CodeAnalysis.CSharp.ConversionsBase.ClassifyImplicitBuiltInConversionSlow #34980

@yyjdelete

Description

@yyjdelete

Version Used:
VS2019 16.1.0 Preview1/16.0.0 Preview5
C# Tools 3.1.0-beta1-19172-05+edd2de88fb3e84a097fb30b4070e0f219f624e40/3.0.0-beta4-19170-01+1deafee3682da88bf07d1c18521a99f47446cee8
Microsoft.CodeAnalysis.Workspaces.ni.dll: 3.100.19.17205

That doesn't happen in roslyn 2.9.0(test with sharplab)

Steps to Reproduce:
I will try to make an simple reproduce latter.
Edit or compile the below code.

Just see
https://sharplab.io/#v2:EYLgtghgzgLgpgJwD4AEAMACFBGA3AWACgiUBmDCYWBCAYxiwCYMBZATwFEAPABwTihQAlgHsAdgB4AKgD4iAbyIZlWcjgBsrTr36DRk2RgDyPbAAoAlBnlYA7BjEBXADbPcGAL5KVZJsdPcfALC4hggWoG6IQZyhCrW3spexHE+5CIAbogIQgAmcFjYmFIiAMowOWIA5paJCanxykIAZhhmMAAWQlAY3f7YFgD0g1JsPAUABp19fSbYExgdiHB18YoNjfEo9gBEczsEG/HJm8rbGHudiAd1yR5AA===

Or

  1. Copy and paste the below code
//public class Class1<T> {//Also happen with class Class1<T>{class MyExpression{MyExpression Op1(){} string ToString(){...}}}
    public abstract class MyExpression<T>
    {
        public static MyExpression<T> Op1() { return null; }
        public class Op1Expression : MyExpression<T>
        {
        }

        public override string ToString()
        {
            if ()//Type `this is Op1` here
            {
                return "Op1";
            }
            return "Other";
        }
    }
//}
  1. Type this is Op1 at the line with if(want to type this is Op1Expression, but unable to finish it)

An simpler version:

public class M1 {
    public bool M<T>(T a) {
        return a is M;
    }
}
public class M1 {
    public void MethodCase2<T>(T t) {
        switch(t){case ToString: break;}
    }
}

Expected Behavior:

  1. Report an compile error as it does in 2.x instead of crashes/FailFast;
    Note: This doesn't crash without generic type.
  2. Maybe autocomplete shouldn't list methods here It is not important.

Actual Behavior:

Application: devenv.exe
Framework Version: v4.0.30319
Explanation: The application requests termination of the process via System.Environment.FailFast(string message).
Message: System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.CodeAnalysis.CSharp.ConversionsBase.ClassifyImplicitBuiltInConversionSlow(TypeSymbol source, TypeSymbol destination, HashSet`1& useSiteDiagnostics)
   at Microsoft.CodeAnalysis.CSharp.ConversionsBase.ClassifyBuiltInConversion(TypeSymbol source, TypeSymbol destination, HashSet`1& useSiteDiagnostics)
   at Microsoft.CodeAnalysis.CSharp.Binder.ExpressionOfTypeMatchesPatternType(Conversions conversions, TypeSymbol expressionType, TypeSymbol patternType, HashSet`1& useSiteDiagnostics, Conversion& conversion, ConstantValue operandConstantValue, Boolean operandCouldBeNull)
   at Microsoft.CodeAnalysis.CSharp.Binder.ConvertPatternExpression(TypeSymbol inputType, CSharpSyntaxNode node, BoundExpression expression, ConstantValue& constantValue, Boolean hasErrors, DiagnosticBag diagnostics)

//The below stacktrace is different when edit in VS/VSCode or build.

   at Microsoft.CodeAnalysis.CSharp.Binder.BindConstantPattern(SyntaxNode node, TypeSymbol inputType, ExpressionSyntax patternExpression, Boolean hasErrors, DiagnosticBag diagnostics, Boolean& wasExpression)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindIsOperator(BinaryExpressionSyntax node, DiagnosticBag diagnostics)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindExpressionInternal(ExpressionSyntax node, DiagnosticBag diagnostics, Boolean invoked, Boolean indexed)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindExpression(ExpressionSyntax node, DiagnosticBag diagnostics, Boolean invoked, Boolean indexed)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindBooleanExpression(ExpressionSyntax node, DiagnosticBag diagnostics)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindIfStatement(IfStatementSyntax node, DiagnosticBag diagnostics)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindStatement(StatementSyntax node, DiagnosticBag diagnostics)
   at Microsoft.CodeAnalysis.CSharp.MemberSemanticModel.IncrementalBinder.BindStatement(StatementSyntax node, DiagnosticBag diagnostics)
   at Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.Bind(Binder binder, CSharpSyntaxNode node, DiagnosticBag diagnostics)
   at Microsoft.CodeAnalysis.CSharp.MethodBodySemanticModel.Bind(Binder binder, CSharpSyntaxNode node, DiagnosticBag diagnostics)
   at Microsoft.CodeAnalysis.CSharp.MemberSemanticModel.GetBoundNodes(CSharpSyntaxNode node)
   at Microsoft.CodeAnalysis.CSharp.MemberSemanticModel.GetLowerBoundNode(CSharpSyntaxNode node)
   at Microsoft.CodeAnalysis.CSharp.MemberSemanticModel.GetBoundNodes(CSharpSyntaxNode node, CSharpSyntaxNode& bindableNode, BoundNode& lowestBoundNode, BoundNode& highestBoundNode, BoundNode& boundParent)
   at Microsoft.CodeAnalysis.CSharp.MemberSemanticModel.GetSymbolInfoWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel.GetSymbolInfoWorker(CSharpSyntaxNode node, SymbolInfoOptions options, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.GetSymbolInfo(ExpressionSyntax expression, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.GetSymbolInfoFromNode(SyntaxNode node, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.GetSymbolInfoCore(SyntaxNode node, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.CSharp.Classification.OperatorOverloadSyntaxClassifier.AddClassifications(Workspace workspace, SyntaxNode syntax, SemanticModel semanticModel, ArrayBuilder`1 result, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.Classification.AbstractSyntaxClassificationService.Worker.ClassifyNode(SyntaxNode syntax)
   at Microsoft.CodeAnalysis.Classification.AbstractSyntaxClassificationService.Worker.ProcessNodes()
   at Microsoft.CodeAnalysis.Classification.AbstractSyntaxClassificationService.Worker.Classify(Workspace workspace, SemanticModel semanticModel, TextSpan textSpan, ArrayBuilder`1 list, Func`2 getNodeClassifiers, Func`2 getTokenClassifiers, CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.Classification.AbstractSyntaxClassificationService.<AddSemanticClassificationsAsync>d__5.MoveNext()
StackTrace:
   at System.Environment.FailFast(System.String, System.Exception)
   at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception)
   at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception, System.Action`1<System.Exception>)
   at Microsoft.CodeAnalysis.ErrorReporting.FatalError.ReportUnlessCanceled(System.Exception)
   at Microsoft.CodeAnalysis.Classification.AbstractSyntaxClassificationService+<AddSemanticClassificationsAsync>d__5.MoveNext()
   at Microsoft.CodeAnalysis.CSharp.ConversionsBase.ClassifyImplicitBuiltInConversionSlow(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol, Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol, System.Collections.Generic.HashSet`1<Microsoft.CodeAnalysis.DiagnosticInfo> ByRef)
   at Microsoft.CodeAnalysis.CSharp.ConversionsBase.ClassifyBuiltInConversion(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol, Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol, System.Collections.Generic.HashSet`1<Microsoft.CodeAnalysis.DiagnosticInfo> ByRef)
   at Microsoft.CodeAnalysis.CSharp.Binder.ExpressionOfTypeMatchesPatternType(Microsoft.CodeAnalysis.CSharp.Conversions, Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol, Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol, System.Collections.Generic.HashSet`1<Microsoft.CodeAnalysis.DiagnosticInfo> ByRef, Microsoft.CodeAnalysis.CSharp.Conversion ByRef, Microsoft.CodeAnalysis.ConstantValue, Boolean)
   at Microsoft.CodeAnalysis.CSharp.Binder.ConvertPatternExpression(Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol, Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode, Microsoft.CodeAnalysis.CSharp.BoundExpression, Microsoft.CodeAnalysis.ConstantValue ByRef, Boolean, Microsoft.CodeAnalysis.DiagnosticBag)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindConstantPattern(Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis.CSharp.Symbols.TypeSymbol, Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Boolean, Microsoft.CodeAnalysis.DiagnosticBag, Boolean ByRef)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindIsOperator(Microsoft.CodeAnalysis.CSharp.Syntax.BinaryExpressionSyntax, Microsoft.CodeAnalysis.DiagnosticBag)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindExpressionInternal(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Microsoft.CodeAnalysis.DiagnosticBag, Boolean, Boolean)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindExpression(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Microsoft.CodeAnalysis.DiagnosticBag, Boolean, Boolean)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindBooleanExpression(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, Microsoft.CodeAnalysis.DiagnosticBag)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindIfStatement(Microsoft.CodeAnalysis.CSharp.Syntax.IfStatementSyntax, Microsoft.CodeAnalysis.DiagnosticBag)
   at Microsoft.CodeAnalysis.CSharp.Binder.BindStatement(Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax, Microsoft.CodeAnalysis.DiagnosticBag)
   at Microsoft.CodeAnalysis.CSharp.MemberSemanticModel+IncrementalBinder.BindStatement(Microsoft.CodeAnalysis.CSharp.Syntax.StatementSyntax, Microsoft.CodeAnalysis.DiagnosticBag)
   at Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.Bind(Microsoft.CodeAnalysis.CSharp.Binder, Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode, Microsoft.CodeAnalysis.DiagnosticBag)
   at Microsoft.CodeAnalysis.CSharp.MethodBodySemanticModel.Bind(Microsoft.CodeAnalysis.CSharp.Binder, Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode, Microsoft.CodeAnalysis.DiagnosticBag)
   at Microsoft.CodeAnalysis.CSharp.MemberSemanticModel.GetBoundNodes(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode)
   at Microsoft.CodeAnalysis.CSharp.MemberSemanticModel.GetLowerBoundNode(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode)
   at Microsoft.CodeAnalysis.CSharp.MemberSemanticModel.GetBoundNodes(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode, Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode ByRef, Microsoft.CodeAnalysis.CSharp.BoundNode ByRef, Microsoft.CodeAnalysis.CSharp.BoundNode ByRef, Microsoft.CodeAnalysis.CSharp.BoundNode ByRef)
   at Microsoft.CodeAnalysis.CSharp.MemberSemanticModel.GetSymbolInfoWorker(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode, SymbolInfoOptions, System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.CSharp.SyntaxTreeSemanticModel.GetSymbolInfoWorker(Microsoft.CodeAnalysis.CSharp.CSharpSyntaxNode, SymbolInfoOptions, System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.GetSymbolInfo(Microsoft.CodeAnalysis.CSharp.Syntax.ExpressionSyntax, System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.GetSymbolInfoFromNode(Microsoft.CodeAnalysis.SyntaxNode, System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.CSharp.CSharpSemanticModel.GetSymbolInfoCore(Microsoft.CodeAnalysis.SyntaxNode, System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.CSharp.Classification.OperatorOverloadSyntaxClassifier.AddClassifications(Microsoft.CodeAnalysis.Workspace, Microsoft.CodeAnalysis.SyntaxNode, Microsoft.CodeAnalysis.SemanticModel, Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1<Microsoft.CodeAnalysis.Classification.ClassifiedSpan>, System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.Classification.AbstractSyntaxClassificationService+Worker.ClassifyNode(Microsoft.CodeAnalysis.SyntaxNode)
   at Microsoft.CodeAnalysis.Classification.AbstractSyntaxClassificationService+Worker.ProcessNodes()
   at Microsoft.CodeAnalysis.Classification.AbstractSyntaxClassificationService+Worker.Classify(Microsoft.CodeAnalysis.Workspace, Microsoft.CodeAnalysis.SemanticModel, Microsoft.CodeAnalysis.Text.TextSpan, Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1<Microsoft.CodeAnalysis.Classification.ClassifiedSpan>, System.Func`2<Microsoft.CodeAnalysis.SyntaxNode,System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.Classification.Classifiers.ISyntaxClassifier>>, System.Func`2<Microsoft.CodeAnalysis.SyntaxToken,System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.Classification.Classifiers.ISyntaxClassifier>>, System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.Classification.AbstractSyntaxClassificationService+<AddSemanticClassificationsAsync>d__5.MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.CodeAnalysis.Classification.AbstractSyntaxClassificationService+<AddSemanticClassificationsAsync>d__5, Microsoft.CodeAnalysis.Workspaces, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]](<AddSemanticClassificationsAsync>d__5 ByRef)
   at Microsoft.CodeAnalysis.Classification.AbstractSyntaxClassificationService.AddSemanticClassificationsAsync(Microsoft.CodeAnalysis.Document, Microsoft.CodeAnalysis.Text.TextSpan, System.Func`2<Microsoft.CodeAnalysis.SyntaxNode,System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.Classification.Classifiers.ISyntaxClassifier>>, System.Func`2<Microsoft.CodeAnalysis.SyntaxToken,System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.Classification.Classifiers.ISyntaxClassifier>>, Microsoft.CodeAnalysis.PooledObjects.ArrayBuilder`1<Microsoft.CodeAnalysis.Classification.ClassifiedSpan>, System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.Classification.AbstractClassificationService+<AddSemanticClassificationsAsync>d__2.MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.CodeAnalysis.Classification.AbstractClassificationService+<AddSemanticClassificationsAsync>d__2, Microsoft.CodeAnalysis.Workspaces, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]](<AddSemanticClassificationsAsync>d__2 ByRef)
   at Microsoft.CodeAnalysis.Classification.AbstractClassificationService.AddSemanticClassificationsAsync(Microsoft.CodeAnalysis.Document, Microsoft.CodeAnalysis.Text.TextSpan, System.Collections.Generic.List`1<Microsoft.CodeAnalysis.Classification.ClassifiedSpan>, System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.Editor.WorkspaceClassificationDelegationService.AddSemanticClassificationsAsync(Microsoft.CodeAnalysis.Classification.IClassificationService, Microsoft.CodeAnalysis.Document, Microsoft.CodeAnalysis.Text.TextSpan, System.Collections.Generic.List`1<Microsoft.CodeAnalysis.Classification.ClassifiedSpan>, System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.Editor.Implementation.Classification.SemanticClassificationUtilities+<ClassifySpansAsync>d__2`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.CodeAnalysis.Editor.Implementation.Classification.SemanticClassificationUtilities+<ClassifySpansAsync>d__2`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], Microsoft.CodeAnalysis.EditorFeatures, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]](<ClassifySpansAsync>d__2`1<System.__Canon> ByRef)
   at Microsoft.CodeAnalysis.Editor.Implementation.Classification.SemanticClassificationUtilities.ClassifySpansAsync[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Microsoft.CodeAnalysis.Editor.Tagging.TaggerContext`1<Microsoft.VisualStudio.Text.Tagging.IClassificationTag>, Microsoft.CodeAnalysis.Editor.DocumentSnapshotSpan, Microsoft.CodeAnalysis.Editor.IClassificationDelegationService`1<System.__Canon>, System.__Canon, Microsoft.CodeAnalysis.Editor.Shared.Utilities.ClassificationTypeMap)
   at Microsoft.CodeAnalysis.Editor.Implementation.Classification.SemanticClassificationUtilities+<TryClassifyContainingMemberSpan>d__1`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Start[[Microsoft.CodeAnalysis.Editor.Implementation.Classification.SemanticClassificationUtilities+<TryClassifyContainingMemberSpan>d__1`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], Microsoft.CodeAnalysis.EditorFeatures, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]](<TryClassifyContainingMemberSpan>d__1`1<System.__Canon> ByRef)
   at Microsoft.CodeAnalysis.Editor.Implementation.Classification.SemanticClassificationUtilities.TryClassifyContainingMemberSpan[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Microsoft.CodeAnalysis.Editor.Tagging.TaggerContext`1<Microsoft.VisualStudio.Text.Tagging.IClassificationTag>, Microsoft.CodeAnalysis.Editor.DocumentSnapshotSpan, Microsoft.CodeAnalysis.Editor.IClassificationDelegationService`1<System.__Canon>, System.__Canon, Microsoft.CodeAnalysis.Editor.Shared.Utilities.ClassificationTypeMap)
   at Microsoft.CodeAnalysis.Editor.Implementation.Classification.SemanticClassificationUtilities+<ProduceTagsAsync>d__0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.CodeAnalysis.Editor.Implementation.Classification.SemanticClassificationUtilities+<ProduceTagsAsync>d__0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], Microsoft.CodeAnalysis.EditorFeatures, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]](<ProduceTagsAsync>d__0`1<System.__Canon> ByRef)
   at Microsoft.CodeAnalysis.Editor.Implementation.Classification.SemanticClassificationUtilities.ProduceTagsAsync[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Microsoft.CodeAnalysis.Editor.Tagging.TaggerContext`1<Microsoft.VisualStudio.Text.Tagging.IClassificationTag>, Microsoft.CodeAnalysis.Editor.DocumentSnapshotSpan, Microsoft.CodeAnalysis.Editor.IClassificationDelegationService`1<System.__Canon>, System.__Canon, Microsoft.CodeAnalysis.Editor.Shared.Utilities.ClassificationTypeMap)
   at Microsoft.CodeAnalysis.Editor.Implementation.Classification.SemanticClassificationViewTaggerProvider.ProduceTagsAsync[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Microsoft.CodeAnalysis.Editor.Tagging.TaggerContext`1<Microsoft.VisualStudio.Text.Tagging.IClassificationTag>, Microsoft.CodeAnalysis.Editor.DocumentSnapshotSpan, Microsoft.CodeAnalysis.Editor.IClassificationDelegationService`1<System.__Canon>)
   at Microsoft.CodeAnalysis.Editor.Implementation.Classification.SemanticClassificationViewTaggerProvider.ProduceTagsAsync(Microsoft.CodeAnalysis.Editor.Tagging.TaggerContext`1<Microsoft.VisualStudio.Text.Tagging.IClassificationTag>)
   at Microsoft.CodeAnalysis.Editor.Tagging.AbstractAsynchronousTaggerProvider`1+TagSource[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].ProduceTagsAsync(Microsoft.CodeAnalysis.Editor.Tagging.TaggerContext`1<System.__Canon>)
   at Microsoft.CodeAnalysis.Editor.Tagging.AbstractAsynchronousTaggerProvider`1+TagSource+<RecomputeTagsAsync>d__70[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
   at System.Runtime.CompilerServices.AsyncTaskMethodBuilder.Start[[Microsoft.CodeAnalysis.Editor.Tagging.AbstractAsynchronousTaggerProvider`1+TagSource+<RecomputeTagsAsync>d__70[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], Microsoft.CodeAnalysis.EditorFeatures, Version=3.1.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]](<RecomputeTagsAsync>d__70<System.__Canon> ByRef)
   at Microsoft.CodeAnalysis.Editor.Tagging.AbstractAsynchronousTaggerProvider`1+TagSource[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].RecomputeTagsAsync(System.Object, System.Nullable`1<Microsoft.VisualStudio.Text.SnapshotPoint>, System.Nullable`1<Microsoft.CodeAnalysis.Text.TextChangeRange>, System.Collections.Immutable.ImmutableArray`1<Microsoft.CodeAnalysis.Editor.DocumentSnapshotSpan>, System.Collections.Immutable.ImmutableDictionary`2<Microsoft.VisualStudio.Text.ITextBuffer,Microsoft.CodeAnalysis.Editor.Shared.Tagging.TagSpanIntervalTree`1<System.__Canon>>, Boolean, System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.Editor.Tagging.AbstractAsynchronousTaggerProvider`1+TagSource+<>c__DisplayClass63_1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<RecomputeTagsForeground>b__0(System.Threading.CancellationToken)
   at Microsoft.CodeAnalysis.Editor.Shared.Threading.AsynchronousSerialWorkQueue+<>c__DisplayClass12_0.<EnqueueBackgroundTask>b__0(System.Threading.Tasks.Task)
   at System.Threading.Tasks.ContinuationResultTaskFromTask`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InnerInvoke()
   at System.Threading.Tasks.Task.Execute()
   at System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
   at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
   at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
   at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
   at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
   at System.Threading.ThreadPoolWorkQueue.Dispatch()
   at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions