Bug 31543 Outliner - Override indicator fooled by visibility issue [render]
Build 20030206 On the following example, the compiler will report that method Test.foo() isn't overriding the package private one from Base, however the outliner still shows the override indicator on it. ========================== foo/Base.java package foo; public class Base { void foo(){} } ========================== bar/Test.java package bar; public class Test extends foo.Base { void foo(){} // doesn't override Base.foo() }
org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/OverrideIndicatorLabelDecorator.java
* Note: This method is for internal use only. Clients should not call this method.
	 */
	public int computeAdornmentFlags(Object element) {
		if (element instanceof IMethod) {
			if (!PreferenceConstants.getPreferenceStore().getBoolean(PreferenceConstants.APPEARANCE_OVERRIDE_INDICATOR)) {
				return 0;
			}
			
			try {
				IMethod method= (IMethod) element;
				if (!method.getJavaProject().isOnClasspath(method)) {
					return 0;
				}
				
				int flags= method.getFlags();
				if (method.getDeclaringType().isClass() && !method.isConstructor() && !Flags.isPrivate(flags) && !Flags.isStatic(flags)) {
					return getOverrideIndicators(method);
				}
			} catch (JavaModelException e) {
				if (!e.isDoesNotExist()) {
					JavaPlugin.log(e);
				}
			}
		}
		return 0;
	}
	
	/**
	 * Note: This method is for internal use only. Clients should not call this method.
	 */