class A : A.B
{
public class B : A {}
}
Put the caret onto 'B', and apply 'Pull members up'. ReSharper hangs.
Call stack from CLRDbg:
[External Code]
> JetBrains.ReSharper.Util.dll!JetBrains.ReSharper.Util.WeakToStrongHashtable.WeakReferencesComparer.Compare(object x = {JetBrains.ReSharper.Util.EquableWeakReference}, object y = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName}) Line 23 + 0x7 bytes C#
[External Code]
JetBrains.ReSharper.Util.dll!JetBrains.ReSharper.Util.WeakToStrongHashtable.this
[object].get(object key = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName}) Line 57 + 0xa bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.Impl.Resolve.ResolveCache.this
[JetBrains.ReSharper.Psi.ExtensionsAPI.Resolve.IRef].get(JetBrains.ReSharper.Psi.ExtensionsAPI.Resolve.IRef reference = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName}) Line 46 + 0x10 bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.Impl.Resolve.ResolveUtil.ResolveWithCache(JetBrains.ReSharper.Psi.ExtensionsAPI.Resolve.IInternalRef reference = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName}) Line 582 + 0xd bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName.Resolve() Line 192 + 0x8 bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.TypeFactory.CreateType(JetBrains.ReSharper.Psi.CSharp.IReferenceNameNode referenceName = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName}) Line 90 + 0xa bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.TypeFactory.CreateType(JetBrains.ReSharper.Psi.CSharp.IDeclaredTypeUsageNode typeUsage = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.UserDeclaredTypeUsageStub}) Line 109 + 0x1d bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ClassLikeDeclarationBase.SuperTypes.get() Line 100 + 0x1b bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.CSharp.Impl.Cache2.CSharpClassLikeTypeElement.GetSuperTypes() Line 183 + 0x9 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.PullMembersUp.PreExecutionStage.FindSuspiciousMembers(JetBrains.ReSharper.Util.OneToManyMap membersMap = {JetBrains.ReSharper.Util.OneToManyMap}, JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}, JetBrains.ReSharper.Psi.Search.IFinder finder = {JetBrains.ReSharper.Psi.Impl.Search.Finder}) Line 133 + 0x2c bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.PullMembersUp.PreExecutionStage.Initialize(JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}) Line 80 + 0xf bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Util.StagedRefactoringBase.SetCurrentStage(JetBrains.ReSharper.Refactorings.Util.IRefactoringStage value = {JetBrains.ReSharper.Refactorings.PullMembersUp.PreExecutionStage}, JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}) Line 30 + 0x25 bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.PullMembersUp.PullMembersUpPage.Commit(JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}, JetBrains.ReSharper.Refactorings.Workflow.CustomPageCommitFlags flags = {JetBrains.ReSharper.Refactorings.Workflow.CustomPageCommitFlags}) Line 110 C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.WorkflowProcessor.CustomPageCommitter.Commit(JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}) Line 573 + 0x1a 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.CommitPage(JetBrains.ReSharper.Refactorings.Workflow.ICustomPage content = {JetBrains.ReSharper.Refactorings.PullMembersUp.PullMembersUpPage}, out bool canceled = false, out bool commitCanceled = false) Line 236 + 0x30 bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.WorkflowProcessor.ShowNextPage() Line 114 + 0x14 bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.WorkflowProcessor.MyForm_OnContinueClicked(object sender = {JetBrains.ReSharper.Refactorings.Workflow.RefactoringWizardForm}, System.EventArgs e = {System.EventArgs}) Line 92 + 0x8 bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.RefactoringWizardForm.myContinueButton_Click(object sender = {Text = Cannot evaluate expression because the code of the current method is optimized.}, System.EventArgs e = {X = 32 Y = 12 Button = Left}) Line 470 C#
[External Code]
Possibly, relates to
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
[External Code]
> JetBrains.ReSharper.Util.dll!JetBrains.ReSharper.Util.WeakToStrongHashtable.WeakReferencesComparer.Compare(object x = {JetBrains.ReSharper.Util.EquableWeakReference}, object y = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName}) Line 23 + 0x7 bytes C#
[External Code]
JetBrains.ReSharper.Util.dll!JetBrains.ReSharper.Util.WeakToStrongHashtable.this[object].get(object key = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName}) Line 57 + 0xa bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.Impl.Resolve.ResolveCache.this[JetBrains.ReSharper.Psi.ExtensionsAPI.Resolve.IRef].get(JetBrains.ReSharper.Psi.ExtensionsAPI.Resolve.IRef reference = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName}) Line 46 + 0x10 bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.Impl.Resolve.ResolveUtil.ResolveWithCache(JetBrains.ReSharper.Psi.ExtensionsAPI.Resolve.IInternalRef reference = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName}) Line 582 + 0xd bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName.Resolve() Line 192 + 0x8 bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.TypeFactory.CreateType(JetBrains.ReSharper.Psi.CSharp.IReferenceNameNode referenceName = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ReferenceName}) Line 90 + 0xa bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.TypeFactory.CreateType(JetBrains.ReSharper.Psi.CSharp.IDeclaredTypeUsageNode typeUsage = {JetBrains.ReSharper.Psi.CSharp.Impl.Tree.UserDeclaredTypeUsageStub}) Line 109 + 0x1e bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.CSharp.Impl.Tree.ClassLikeDeclarationBase.SuperTypes.get() Line 100 + 0x1b bytes C#
JetBrains.ReSharper.Psi.dll!JetBrains.ReSharper.Psi.CSharp.Impl.Cache2.CSharpClassLikeTypeElement.GetSuperTypes() Line 183 + 0x9 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.PushMembersDown.PreExecutionStage.FindSuspiciousMembers(JetBrains.ReSharper.Util.OneToManyMap membersMap = {JetBrains.ReSharper.Util.OneToManyMap}, JetBrains.ReSharper.Psi.Search.IFinder finder = {JetBrains.ReSharper.Psi.Impl.Search.Finder}, JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.SubProgressIndicator}) Line 185 + 0x2c bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.PushMembersDown.PreExecutionStage.Initialize(JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}) Line 100 + 0x12 bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Util.StagedRefactoringBase.SetCurrentStage(JetBrains.ReSharper.Refactorings.Util.IRefactoringStage value = {JetBrains.ReSharper.Refactorings.PushMembersDown.PreExecutionStage}, JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}) Line 30 + 0x25 bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.PushMembersDown.PushMembersDownPage.Commit(JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}, JetBrains.ReSharper.Refactorings.Workflow.CustomPageCommitFlags flags = {JetBrains.ReSharper.Refactorings.Workflow.CustomPageCommitFlags}) Line 93 + 0x20 bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.WorkflowProcessor.CustomPageCommitter.Commit(JetBrains.ReSharper.Shell.Progress.IProgressIndicator progressIndicator = {JetBrains.ReSharper.Shell.Progress.UITaskExecutor.MyProgressIndicator}) Line 573 + 0x1a 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.CommitPage(JetBrains.ReSharper.Refactorings.Workflow.ICustomPage content = {JetBrains.ReSharper.Refactorings.PushMembersDown.PushMembersDownPage}, out bool canceled = false, out bool commitCanceled = false) Line 236 + 0x30 bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.WorkflowProcessor.ShowNextPage() Line 114 + 0x14 bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.WorkflowProcessor.MyForm_OnContinueClicked(object sender = {JetBrains.ReSharper.Refactorings.Workflow.RefactoringWizardForm}, System.EventArgs e = {System.EventArgs}) Line 92 + 0x8 bytes C#
JetBrains.ReSharper.Refactorings.dll!JetBrains.ReSharper.Refactorings.Workflow.RefactoringWizardForm.myContinueButton_Click(object sender = {Text = Cannot evaluate expression because the code of the current method is optimized.}, System.EventArgs e = {X = 31 Y = 11 Button = Left}) Line 470 C#
[External Code]