Project: JDT
Bug 10382 Super type hierarchy computed on selection change in Outline
Reported: 2002-02-27 08:05:58 | Status: resolved fixed

Build 20020226 In the Outline, each time you select another method, a super type hierarchy is computed. This is less than efficient. Here is the call stack: Thread [main] (Suspended) org.eclipse.jdt.internal.core.SourceType.newSupertypeHierarchy (org.eclipse.core.runtime.IProgressMonitor) line: 248 org.eclipse.jdt.internal.corext.refactoring.structure.PullUpRefactoring. getSuperType(org.eclipse.core.runtime.IProgressMonitor) line: 136 org.eclipse.jdt.internal.corext.refactoring.structure.PullUpRefactoring. checkDeclaringType() line: 369 org.eclipse.jdt.internal.corext.refactoring.structure.PullUpRefactoring. checkActivation(org.eclipse.core.runtime.IProgressMonitor) line: 243 org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringGroup$2.canAc tivateRefactoring(org.eclipse.jdt.internal.corext.refactoring.base.Refactoring) line: 99 org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringGroup$2 (org.eclipse.jdt.internal.ui.refactoring.actions.OpenRefactoringWizardAction).sh ouldAcceptElement(java.lang.Object) line: 90 org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringGroup$2 (org.eclipse.jdt.internal.ui.refactoring.actions.OpenRefactoringWizardAction).ca nOperateOn(org.eclipse.jface.viewers.IStructuredSelection) line: 48 org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringGroup$2 (org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringAction).update() line: 57 org.eclipse.jdt.internal.ui.refactoring.actions.PullUpActionDelegate (org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringActionDelegate).find Action() line: 105 org.eclipse.jdt.internal.ui.refactoring.actions.PullUpActionDelegate (org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringActionDelegate).hand leStructuredSelection(org.eclipse.jface.viewers.IStructuredSelection) line: 55 org.eclipse.jdt.internal.ui.refactoring.actions.PullUpActionDelegate (org.eclipse.jdt.internal.ui.refactoring.actions.RefactoringActionDelegate).sele ctionChanged(org.eclipse.jface.action.IAction, org.eclipse.jface.viewers.ISelection) line: 81 org.eclipse.ui.internal.WWinPluginAction (org.eclipse.ui.internal.PluginAction).refreshEnablement() line: 170 org.eclipse.ui.internal.WWinPluginAction (org.eclipse.ui.internal.PluginAction).selectionChanged (org.eclipse.jface.viewers.ISelection) line: 226 org.eclipse.ui.internal.WWinPluginAction (org.eclipse.ui.internal.PluginAction).selectionChanged (org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection) line: 246 org.eclipse.ui.internal.SelectionService$2.run() line: 62 org.eclipse.core.internal.runtime.InternalPlatform.run (org.eclipse.core.runtime.ISafeRunnable) line: 817 org.eclipse.core.runtime.Platform.run (org.eclipse.core.runtime.ISafeRunnable) line: 395 org.eclipse.ui.internal.SelectionService.fireSelection (org.eclipse.ui.IWorkbenchPart, org.eclipse.jface.viewers.ISelection) line: 60 org.eclipse.ui.internal.SelectionService$1.selectionChanged (org.eclipse.jface.viewers.SelectionChangedEvent) line: 26 org.eclipse.ui.part.PageBookView$SelectionProvider.selectionChanged (org.eclipse.jface.viewers.SelectionChangedEvent) line: 227 org.eclipse.ui.views.contentoutline.ContentOutline (org.eclipse.ui.part.PageBookView).pageSelectionChanged (org.eclipse.jface.viewers.SelectionChangedEvent) line: 613 org.eclipse.ui.part.PageBookView.access$2 (org.eclipse.ui.part.PageBookView, org.eclipse.jface.viewers.SelectionChangedEvent) line: 609 org.eclipse.ui.part.PageBookView$2.selectionChanged (org.eclipse.jface.viewers.SelectionChangedEvent) line: 133 org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$JavaOutlineViewer (org.eclipse.jface.viewers.Viewer).fireSelectionChanged (org.eclipse.jface.viewers.SelectionChangedEvent) line: 147 org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$JavaOutlineViewer (org.eclipse.jface.viewers.StructuredViewer).updateSelection (org.eclipse.jface.viewers.ISelection) line: 999 org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$JavaOutlineViewer (org.eclipse.jface.viewers.StructuredViewer).handleSelect (org.eclipse.swt.events.SelectionEvent) line: 466 org.eclipse.jface.viewers.AbstractTreeViewer$1.widgetSelected (org.eclipse.swt.events.SelectionEvent) line: 624 org.eclipse.swt.widgets.TypedListener.handleEvent (org.eclipse.swt.widgets.Event) line: 85 org.eclipse.swt.widgets.EventTable.sendEvent (org.eclipse.swt.widgets.Event) line: 74 org.eclipse.swt.widgets.Tree (org.eclipse.swt.widgets.Widget).notifyListeners(int, org.eclipse.swt.widgets.Event) line: 637 org.eclipse.swt.widgets.Display.runDeferredEvents() line: 1420 org.eclipse.swt.widgets.Display.readAndDispatch() line: 1208 org.eclipse.ui.internal.Workbench.runEventLoop() line: 788 org.eclipse.ui.internal.Workbench.run(java.lang.Object) line: 771 org.eclipse.core.internal.boot.InternalBootLoader.run(java.lang.String, java.net.URL, java.lang.String, java.lang.String[]) line: 777 org.eclipse.core.boot.BootLoader.run(java.lang.String, java.net.URL, java.lang.String, java.lang.String[]) line: 319 SlimLauncher.main(java.lang.String[]) line: 14

Files changed in fix:
org.eclipse.jdt.ui/core refactoring/org/eclipse/jdt/internal/corext/refactoring/structure/PullUpRefactoring.java org.eclipse.jdt.ui/ui refactoring/org/eclipse/jdt/internal/ui/refactoring/actions/RefactoringGroup.java