class A : A.B { public class B : A {} }
Move nested type B to outer scope. ReSharper will hang. Call stack from CLRDbg:
> JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.ExtensionsAPI.Caches2.TypeElement.ShortName.get() Line 88 + 0xf bytes C# JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.ExtensionsAPI.Caches2.TypeElement.CLRName.get() Line 66 + 0x9 bytes C# JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.ExtensionsAPI.Caches2.TypeElement.CLRName.get() Line 53 + 0xa bytes C# JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.CSharp.Impl.DeclaredTypeBase.GetCLRName() Line 97 + 0x16 bytes C# JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.CSharp.Impl.DeclaredTypeBase.GetHashCode() Line 360 + 0x7 bytes C# [External Code] JetBrains.ReSharper.Util.dll!JetBrains.ReSharper.Util.HashSet.Contains(object o = {DeclaredType(qualifiedName:A+C[JetBrains.ReSharper.Psi.Resolve.EmptySubstitution])}) Line 46 + 0xa bytes C# JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.CSharp.Impl.Cache2.CSharpClassLikeTypeElement.GetSuperTypes() Line 187 + 0xc bytes C# JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.CSharp.Impl.Cache2.CSharpClass.GetSuperTypes() Line 55 + 0x8 bytes C# JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.CSharp.Impl.Cache2.CSharpClass.GetSuperClass() Line 27 + 0x7 bytes C# JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.MoveTypeToOuterScope.MoveTypeToOuterScopeConflictSearcher.TestAccessibilityConflict(JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.SubProgressIndicator}, JetBrains.ReSharper.Refactorings.MoveTypeToOuterScope.PreExecutionStage stage = {JetBrains.ReSharper.Refactorings.MoveTypeToOuterScope.PreExecutionStage}) Line 77 + 0x28 bytes C# JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.MoveTypeToOuterScope.MoveTypeToOuterScopeConflictSearcher.SearchConflicts(JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}) Line 50 + 0xf bytes C# JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.ConflictsPage.Initialize(JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}) Line 148 + 0x10 bytes C# JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.WorkflowProcessor.CustomPageInitializer.Initialize(JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}) Line 526 + 0x12 bytes C# JetBrains.ReSharper.Shell.dll!JetBrains.ReSharper.Shell.Progress.UITaskExecutor.TaskHelper.Run() Line 231 + 0x1a bytes C# [External Code] JetBrains.ReSharper.Shell.dll!JetBrains.ReSharper.Shell.Progress.UITaskExecutor.RunMessageLoop() Line 127 + 0x8 bytes C# JetBrains.ReSharper.Shell.dll!JetBrains.ReSharper.Shell.Progress.UITaskExecutor.ExecuteTask(JetBrains.ReSharper.Shell.Progress.UITaskExecutor.TaskHelper taskHelper = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.TaskHelper}, string taskName = "", bool cancelable = true, out bool canceled = false) Line 149 + 0x9 bytes C# JetBrains.ReSharper.Shell.dll!JetBrains.ReSharper.Shell.Progress.UITaskExecutor.ExecuteTask(JetBrains.ReSharper.Shell.Progress.TaskWithProgress task = {JetBrains.ReSharper.Shell.Progress.TaskWithProgress}, string taskName = "", out bool canceled = false) Line 170 + 0x22 bytes C# JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.WorkflowProcessor.TaskExecutorWrapper.ExecuteTask(JetBrains.ReSharper.Shell.Progress.TaskWithProgress task = {JetBrains.ReSharper.Shell.Progress.TaskWithProgress}, string taskName = "", out bool canceled = false) Line 477 + 0x15 bytes C# JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.WorkflowProcessor.ShowNextPage() Line 131 + 0x31 bytes C# JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.WorkflowProcessor.MyForm_OnContinueClicked(object sender = {JetBrains.ReSharper.Refactorings.Workflow.RefactoringWizardForm, Text: Move Type}, System.EventArgs e = {System.EventArgs}) Line 92 + 0x8 bytes C# JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.RefactoringWizardForm.myContinueButton_Click(object sender = {Text = "Continue"}, System.EventArgs e = {X = 40 Y = 14 Button = Left}) Line 470 C# [External Code]
Possibly, relates to http://www.jetbrains.net/jira/browse/RSRP-29448 http://www.jetbrains.net/jira/browse/RSRP-29446 http://www.jetbrains.net/jira/browse/RSRP-29437 http://www.jetbrains.net/jira/browse/RSRP-29444 http://www.jetbrains.net/jira/browse/RSRP-29436 http://www.jetbrains.net/jira/browse/RSRP-29382