dotnet/roslyn

Two CodeRefactoringProviders failing with InvalidOperationException

Open

#72,540 opened on Mar 14, 2024

View on GitHub
 (1 comment) (0 reactions) (1 assignee)C# (4,257 forks)batch import
Area-IDEBugIDE-CodeStylehelp wanted

Repository metrics

Stars
 (20,414 stars)
PR merge metrics
 (Avg merge 6d 17h) (256 merged PRs in 30d)

Description

Version Used: 17.9.3

Steps to Reproduce:

I was copy/pasting some C# code around, resulting in two CodeRefactoringProviders failing:

'CSharpPullMemberUpCodeRefactoringProvider' encountered an error and has been disabled.

System.InvalidOperationException : Operation is not valid due to the current state of the object.
   at Microsoft.CodeAnalysis.Shared.Extensions.SemanticModelExtensions.GetRequiredDeclaredSymbol(SemanticModel semanticModel,SyntaxNode declaration,CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.CodeRefactorings.PullMemberUp.AbstractPullMemberUpRefactoringProvider.<>c__DisplayClass3_0.<ComputeRefactoringsAsync>b__0(SyntaxNode m)
   at System.Collections.Immutable.ImmutableArray.CreateRange[TSource,TResult](ImmutableArray`1 items,Func`2 selector)
   at async Microsoft.CodeAnalysis.CodeRefactorings.PullMemberUp.AbstractPullMemberUpRefactoringProvider.ComputeRefactoringsAsync(<Unknown Parameters>)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at async Microsoft.CodeAnalysis.CodeRefactorings.CodeRefactoringService.<>c__DisplayClass12_0.<GetRefactoringFromProviderAsync>b__0(<Unknown Parameters>)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at async Microsoft.CodeAnalysis.Extensions.IExtensionManagerExtensions.PerformFunctionAsync[T](<Unknown Parameters>)

'CSharpExtractClassCodeRefactoringProvider' encountered an error and has been disabled.

System.InvalidOperationException : Operation is not valid due to the current state of the object.
   at Microsoft.CodeAnalysis.Shared.Extensions.SemanticModelExtensions.GetRequiredDeclaredSymbol(SemanticModel semanticModel,SyntaxNode declaration,CancellationToken cancellationToken)
   at Microsoft.CodeAnalysis.ExtractClass.AbstractExtractClassRefactoringProvider.<>c__DisplayClass5_0.<TryGetMemberActionAsync>b__0(SyntaxNode m)
   at System.Collections.Immutable.ImmutableArray.CreateRange[TSource,TResult](ImmutableArray`1 items,Func`2 selector)
   at async Microsoft.CodeAnalysis.ExtractClass.AbstractExtractClassRefactoringProvider.TryGetMemberActionAsync(<Unknown Parameters>)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at async Microsoft.CodeAnalysis.ExtractClass.AbstractExtractClassRefactoringProvider.ComputeRefactoringsAsync(<Unknown Parameters>)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at async Microsoft.CodeAnalysis.CodeRefactorings.CodeRefactoringService.<>c__DisplayClass12_0.<GetRefactoringFromProviderAsync>b__0(<Unknown Parameters>)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at async Microsoft.CodeAnalysis.Extensions.IExtensionManagerExtensions.PerformFunctionAsync[T](<Unknown Parameters>)

It looks almost the same as issue #62561.

Contributor guide