Bug 18198 Java Model Exception out of JavaOutlineViewer / JDT Core
20020528 Unsure if this is a Core or UI problem Open a compilation unit Close the project containing the compilation unit Java Model Exception: Java Model Status [HEy does not exist.] at org.eclipse.jdt.internal.core.JavaElement.newNotPresentException (JavaElement.java:502) at org.eclipse.jdt.internal.core.JavaProject.openWhenClosed (JavaProject.java:1665) at org.eclipse.jdt.internal.core.JavaElement.openHierarchy (JavaElement.java:523) at org.eclipse.jdt.internal.core.JavaElement.getElementInfo (JavaElement.java:310) at org.eclipse.jdt.internal.core.JavaProject.getJavaProjectElementInfo (JavaProject.java:966) at org.eclipse.jdt.internal.core.JavaProject.getSearchableNameEnvironment (JavaProject.java:1425) at org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder.<init> (HierarchyBuilder.java:81) at org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder.<init> (IndexBasedHierarchyBuilder.java:117) at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.compute (TypeHierarchy.java:266) at org.eclipse.jdt.internal.core.hierarchy.TypeHierarchy.refresh (TypeHierarchy.java:1128) at org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation.executeOperation (CreateTypeHierarchyOperation.java:69) at org.eclipse.jdt.internal.core.JavaModelOperation.execute (JavaModelOperation.java:292) at org.eclipse.jdt.internal.core.JavaModelOperation.run (JavaModelOperation.java:500) at org.eclipse.jdt.internal.core.JavaModelManager.runOperation (JavaModelManager.java:1183) at org.eclipse.jdt.internal.core.JavaElement.runOperation (JavaElement.java:576) at org.eclipse.jdt.internal.core.SourceType.newSupertypeHierarchy (SourceType.java:338) at org.eclipse.jdt.internal.core.SourceType.newSupertypeHierarchy (SourceType.java:327) at org.eclipse.jdt.internal.corext.util.SuperTypeHierarchyCache.getTypeHierarchy (SuperTypeHierarchyCache.java:60) at org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.getOverrideIndicators (OverrideIndicatorLabelDecorator.java:97) at org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.computeAdornmentFlags (OverrideIndicatorLabelDecorator.java:84) at org.eclipse.jdt.ui.OverrideIndicatorLabelDecorator.decorateImage (OverrideIndicatorLabelDecorator.java:67) at org.eclipse.jdt.internal.ui.viewsupport.JavaUILabelProvider.getImage (JavaUILabelProvider.java:110) at org.eclipse.jface.viewers.DecoratingLabelProvider.getImage (DecoratingLabelProvider.java:67) at org.eclipse.jface.viewers.TreeViewer.doUpdateItem(TreeViewer.java:83) at org.eclipse.jface.viewers.AbstractTreeViewer.doUpdateItem (AbstractTreeViewer.java:354) at org.eclipse.jface.viewers.StructuredViewer.updateItem (StructuredViewer.java:1134) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:834) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:848) at org.eclipse.jface.viewers.AbstractTreeViewer.internalRefresh (AbstractTreeViewer.java:848) at org.eclipse.jface.viewers.AbstractTreeViewer.labelProviderChanged (AbstractTreeViewer.java:936) at org.eclipse.jface.viewers.ContentViewer.handleLabelProviderChanged (ContentViewer.java:157) at org.eclipse.jface.viewers.StructuredViewer.handleLabelProviderChanged (StructuredViewer.java:528) at org.eclipse.jdt.internal.ui.javaeditor.JavaOutlinePage$JavaOutlineViewer.handleL abelProviderChanged(JavaOutlinePage.java:566) at org.eclipse.jface.viewers.ContentViewer$1.labelProviderChanged (ContentViewer.java:70) at org.eclipse.jdt.ui.ProblemsLabelDecorator.fireProblemsChanged (ProblemsLabelDecorator.java:293) at org.eclipse.jdt.ui.ProblemsLabelDecorator.access$0 (ProblemsLabelDecorator.java:288) at org.eclipse.jdt.ui.ProblemsLabelDecorator$1.problemsChanged (ProblemsLabelDecorator.java:268) at org.eclipse.jdt.internal.ui.viewsupport.ProblemMarkerManager$1.run (ProblemMarkerManager.java:177) at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:29) at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages (Synchronizer.java:93) at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:1504) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1292) at org.eclipse.jface.operation.ModalContext$ModalContextThread.block (ModalContext.java:133) at org.eclipse.jface.operation.ModalContext.run(ModalContext.java:258) at org.eclipse.jface.dialogs.ProgressMonitorDialog.run (ProgressMonitorDialog.java:335) at org.eclipse.ui.actions.WorkspaceAction.run(WorkspaceAction.java:272) at org.eclipse.ui.actions.CloseResourceAction.run (CloseResourceAction.java:151) at org.eclipse.jface.action.Action.runWithEvent(Action.java:590) at org.eclipse.jface.action.ActionContributionItem.handleWidgetSelection (ActionContributionItem.java:407) at org.eclipse.jface.action.ActionContributionItem.handleWidgetEvent (ActionContributionItem.java:361) at org.eclipse.jface.action.ActionContributionItem.access$0 (ActionContributionItem.java:352) at org.eclipse.jface.action.ActionContributionItem$ActionListener.handleEvent (ActionContributionItem.java:47) at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:75) at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:825) at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:1527) at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:1289) at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:1085) at org.eclipse.ui.internal.Workbench.run(Workbench.java:1068) at org.eclipse.core.internal.boot.InternalBootLoader.run (InternalBootLoader.java:739) at org.eclipse.core.boot.BootLoader.run(BootLoader.java:432) at EclipseRuntimeLauncher.main(EclipseRuntimeLauncher.java:24)
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/OverrideIndicatorLabelDecorator.java
package org.eclipse.jdt.ui;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.graphics.Point;
import org.eclipse.swt.graphics.Rectangle;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ILabelDecorator;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jdt.core.Flags;
import org.eclipse.jdt.core.IMethod;
import org.eclipse.jdt.core.IType;
import org.eclipse.jdt.core.ITypeHierarchy;
import org.eclipse.jdt.core.JavaModelException;
import org.eclipse.jdt.internal.corext.util.JavaModelUtil;
import org.eclipse.jdt.internal.corext.util.SuperTypeHierarchyCache;
import org.eclipse.jdt.internal.ui.JavaPlugin;
import org.eclipse.jdt.internal.ui.preferences.AppearancePreferencePage;
import org.eclipse.jdt.internal.ui.viewsupport.ImageDescriptorRegistry;
import org.eclipse.jdt.internal.ui.viewsupport.ImageImageDescriptor;
/**
 * LabelDecorator that decorates an method's image with override or implements overlays.
 * Updating of images on element changes is the resposibility of the viewers using this 
 * decorator.
 */
public class OverrideIndicatorLabelDecorator implements ILabelDecorator {