### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: dom/org/eclipse/jdt/core/dom/MethodBinding.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodBinding.java,v retrieving revision 1.84 diff -u -r1.84 MethodBinding.java --- dom/org/eclipse/jdt/core/dom/MethodBinding.java 10 Apr 2007 19:03:10 -0000 1.84 +++ dom/org/eclipse/jdt/core/dom/MethodBinding.java 17 Jul 2007 17:51:11 -0000 @@ -477,7 +477,10 @@ public boolean overrides(IMethodBinding overridenMethod) { try { org.eclipse.jdt.internal.compiler.lookup.MethodBinding overridenCompilerBinding = ((MethodBinding) overridenMethod).binding; - if (this.binding == overridenCompilerBinding) + if (this.binding == overridenCompilerBinding + || overridenCompilerBinding.isStatic() + || overridenCompilerBinding.isPrivate() + || this.binding.isStatic()) return false; char[] selector = this.binding.selector; if (!CharOperation.equals(selector, overridenCompilerBinding.selector)) @@ -492,8 +495,7 @@ if (lookupEnvironment == null) return false; MethodVerifier methodVerifier = lookupEnvironment.methodVerifier(); org.eclipse.jdt.internal.compiler.lookup.MethodBinding superMethod = superMethods[i]; - return !superMethod.isPrivate() - && !(superMethod.isDefault() && (superMethod.declaringClass.getPackage()) != this.binding.declaringClass.getPackage()) + return !(superMethod.isDefault() && (superMethod.declaringClass.getPackage()) != this.binding.declaringClass.getPackage()) && methodVerifier.doesMethodOverride(this.binding, superMethod); } }