Bug 4247

Summary: JavaModelException from TypeHierarchyContentProvider (1GKEY80)
Product: [Eclipse Project] JDT Reporter: Martin Aeschlimann <martinae>
Component: UIAssignee: Martin Aeschlimann <martinae>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 2.0   
Target Milestone: ---   
Hardware: All   
OS: Windows NT   
Whiteboard:
Bug Depends on: 3420, 4113    
Bug Blocks:    

Description Martin Aeschlimann CLA 2001-10-10 23:08:32 EDT
MA (21.09.2001 19:17:28)
	found in log after refactoring

Stack trace:
   java/lang/Throwable.<init>()V
   java/lang/Throwable.<init>(Ljava/lang/String;)V
   org/eclipse/core/runtime/CoreException.<init>(Lorg/eclipse/core/runtime/IStatus;)V
   org/eclipse/jdt/core/JavaModelException.<init>(Lorg/eclipse/jdt/core/IJavaModelStatus;)V
   org/eclipse/jdt/internal/core/JavaElement.newNotPresentException()Lorg/eclipse/jdt/core/JavaModelException;
   org/eclipse/jdt/internal/core/JavaElement.openHierarchy()V
   org/eclipse/jdt/internal/core/JavaElement.getElementInfo()Lorg/eclipse/jdt/internal/core/JavaElementInfo;
   org/eclipse/jdt/internal/core/Member.getFlags()I
   org/eclipse/jdt/internal/ui/viewsupport/JavaImageLabelProvider.computeBaseImageDescriptor(Lorg/eclipse/jdt/core/IJavaElement;)Lorg/eclipse/jface/resource/ImageDescriptor;
   org/eclipse/jdt/internal/ui/viewsupport/JavaImageLabelProvider.getLabelImage(Lorg/eclipse/jdt/core/IJavaElement;)Lorg/eclipse/swt/graphics/Image;
   org/eclipse/jdt/ui/JavaElementLabelProvider.getImage(Ljava/lang/Object;)Lorg/eclipse/swt/graphics/Image;
   org/eclipse/jface/viewers/TreeViewer.doUpdateItem(Lorg/eclipse/swt/widgets/Item;Ljava/lang/Object;)V
   org/eclipse/jface/viewers/AbstractTreeViewer.doUpdateItem(Lorg/eclipse/swt/widgets/Widget;Ljava/lang/Object;Z)V
   org/eclipse/jface/viewers/StructuredViewer.updateItem(Lorg/eclipse/swt/widgets/Widget;Ljava/lang/Object;)V
   org/eclipse/jface/viewers/AbstractTreeViewer.internalRefresh(Lorg/eclipse/swt/widgets/Widget;Ljava/lang/Object;Z)V
   org/eclipse/jface/viewers/AbstractTreeViewer.internalRefresh(Lorg/eclipse/swt/widgets/Widget;Ljava/lang/Object;Z)V
   org/eclipse/jface/viewers/AbstractTreeViewer.internalRefresh(Ljava/lang/Object;)V
   org/eclipse/jface/viewers/StructuredViewer$1.run()V
   org/eclipse/jface/viewers/StructuredViewer.preservingSelection(Ljava/lang/Runnable;)V
   org/eclipse/jface/viewers/StructuredViewer.refresh(Ljava/lang/Object;)V
   org/eclipse/jface/viewers/StructuredViewer.refresh()V
   org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyContentProvider.processChangeOnType(Lorg/eclipse/jdt/core/IJavaElementDelta;)Z
   org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyContentProvider.processDelta(Lorg/eclipse/jdt/core/IJavaElementDelta;)Z
   org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyContentProvider.processDelta(Lorg/eclipse/jdt/core/IJavaElementDelta;)Z
   org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyContentProvider.elementChanged(Lorg/eclipse/jdt/core/ElementChangedEvent;)V
   org/eclipse/jdt/internal/core/JavaModelManager.fire()V
   org/eclipse/jdt/internal/core/JavaModelManager.runOperation(Lorg/eclipse/jdt/internal/core/JavaModelOperation;Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/jdt/internal/core/JavaElement.runOperation(Lorg/eclipse/jdt/internal/core/JavaModelOperation;Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/jdt/internal/core/WorkingCopy.commit(ZLorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/jdt/internal/ui/javaeditor/CompilationUnitDocumentProvider.doSaveDocument(Lorg/eclipse/core/runtime/IProgressMonitor;Ljava/lang/Object;Lorg/eclipse/jface/text/IDocument;Z)V
   org/eclipse/ui/texteditor/AbstractDocumentProvider.saveDocument(Lorg/eclipse/core/runtime/IProgressMonitor;Ljava/lang/Object;Lorg/eclipse/jface/text/IDocument;Z)V
   org/eclipse/jdt/internal/ui/util/DocumentManager.save(Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/jdt/internal/ui/refactoring/changes/DocumentTextBufferChange.saveTextBuffer(Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/jdt/internal/core/refactoring/text/AbstractTextBufferChange.perform(Lorg/eclipse/jdt/internal/core/refactoring/base/ChangeContext;Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/jdt/internal/core/refactoring/CompositeChange.createUndoList(Lorg/eclipse/jdt/internal/core/refactoring/base/ChangeContext;Lorg/eclipse/core/runtime/IProgressMonitor;)Ljava/util/List;
   org/eclipse/jdt/internal/core/refactoring/CompositeChange.perform(Lorg/eclipse/jdt/internal/core/refactoring/base/ChangeContext;Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/jdt/internal/ui/refactoring/PerformChangeOperation$1.execute(Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/ui/actions/WorkspaceModifyOperation$1.run(Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/core/internal/resources/Workspace.run(Lorg/eclipse/core/resources/IWorkspaceRunnable;Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/ui/actions/WorkspaceModifyOperation.run(Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/jdt/internal/ui/refactoring/PerformChangeOperation.executeChange(Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/jdt/internal/ui/refactoring/PerformChangeOperation.run(Lorg/eclipse/core/runtime/IProgressMonitor;)V
   org/eclipse/jface/operation/ModalContext.run(Lorg/eclipse/jface/operation/IRunnableWithProgress;ZLorg/eclipse/core/runtime/IProgressMonitor;Lorg/eclipse/swt/widgets/Display;)V
   org/eclipse/jface/wizard/WizardDialog.run(ZZLorg/eclipse/jface/operation/IRunnableWithProgress;)V
   org/eclipse/jdt/internal/ui/refactoring/RefactoringWizard.performFinish(Lorg/eclipse/jdt/internal/ui/refactoring/PerformChangeOperation;)Z
   org/eclipse/jdt/internal/ui/refactoring/UserInputWizardPage.performFinish()Z
   org/eclipse/jdt/internal/ui/refactoring/RefactoringWizard.performFinish()Z
   org/eclipse/jface/wizard/WizardDialog.finishPressed()V
   org/eclipse/jface/wizard/WizardDialog.buttonPressed(I)V
   org/eclipse/jface/dialogs/Dialog$1.widgetSelected(Lorg/eclipse/swt/events/SelectionEvent;)V
   org/eclipse/swt/widgets/TypedListener.handleEvent(Lorg/eclipse/swt/widgets/Event;)V
   org/eclipse/swt/widgets/EventTable.sendEvent(Lorg/eclipse/swt/widgets/Event;)V
   org/eclipse/swt/widgets/Widget.notifyListeners(ILorg/eclipse/swt/widgets/Event;)V
   org/eclipse/swt/widgets/Display.runDeferredEvents()Z
   org/eclipse/swt/widgets/Display.readAndDispatch()Z
   org/eclipse/jface/window/Window.runEventLoop(Lorg/eclipse/swt/widgets/Shell;)V
   org/eclipse/jface/window/Window.open()I
   org/eclipse/jdt/internal/ui/reorg/RefactoringSupportFactory$RenameSupport.rename(Ljava/lang/Object;)V
   org/eclipse/jdt/internal/ui/reorg/RenameAction.run()V
   org/eclipse/jface/action/ActionContributionItem.handleWidgetSelection(Lorg/eclipse/swt/widgets/Event;)V
   org/eclipse/jface/action/ActionContributionItem.handleWidgetEvent(Lorg/eclipse/swt/widgets/Event;)V
   org/eclipse/jface/action/ActionContributionItem.access$0(Lorg/eclipse/jface/action/ActionContributionItem;Lorg/eclipse/swt/widgets/Event;)V
   org/eclipse/jface/action/ActionContributionItem$ActionListener.handleEvent(Lorg/eclipse/swt/widgets/Event;)V
   org/eclipse/swt/widgets/EventTable.sendEvent(Lorg/eclipse/swt/widgets/Event;)V
   org/eclipse/swt/widgets/Widget.notifyListeners(ILorg/eclipse/swt/widgets/Event;)V
   org/eclipse/swt/widgets/Display.runDeferredEvents()Z
   org/eclipse/swt/widgets/Display.readAndDispatch()Z
   org/eclipse/ui/internal/Workbench.runEventLoop()V
   org/eclipse/ui/internal/Workbench.run(Ljava/lang/Object;)Ljava/lang/Object;
   org/eclipse/core/internal/boot/InternalBootLoader.run(Ljava/lang/String;Ljava/net/URL;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Object;
   org/eclipse/core/boot/BootLoader.run(Ljava/lang/String;Ljava/net/URL;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/Object;
   java/lang/reflect/Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
   org/eclipse/core/launcher/Main.basicRun([Ljava/lang/String;)Ljava/lang/Object;
   org/eclipse/core/launcher/Main.run([Ljava/lang/String;)Ljava/lang/Object;
   org/eclipse/core/launcher/UIMain.main([Ljava/lang/String;)V
   ZRHMain.main([Ljava/lang/String;)V


NOTES:
EG (9/24/2001 8:14:46 AM)
	moving to JCORE FYI

PM (9/25/2001 12:52:12 PM)
	Could be some client code asking questions to a discarded Java element, and not protecting itself from the resulting exception.
	Back to ITPJUI.

EG (10.10.2001 22:26:29)	
	pls investigate
Comment 1 Martin Aeschlimann CLA 2001-10-11 05:36:12 EDT
The walkback is the problem discribed in
   4113: Type Hierarchy does not update when class added (1GII73E) 
   (updates should be posted)
But due to problems described in 
   3420: 1GKXGAT: ITPJCORE:WINNT - Problem with order of change listeners
I cant solve this, except for a workaround

Comment 2 Martin Aeschlimann CLA 2001-10-31 13:38:30 EST
fixed > 11025.
workaround with mannually making sure that the element listener is added after 
the typehierarchy listener.

I still think JCore should do something.