### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: compiler/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/compiler/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.java,v retrieving revision 1.62 diff -u -r1.62 MethodVerifier15.java --- compiler/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.java 12 Oct 2006 17:57:21 -0000 1.62 +++ compiler/org/eclipse/jdt/internal/compiler/lookup/MethodVerifier15.java 7 Nov 2006 12:39:15 -0000 @@ -528,7 +528,8 @@ inheritedMethod = computeSubstituteMethod(inheritedMethod, existingMethod); return inheritedMethod != null - && inheritedMethod.returnType == existingMethod.returnType + && (inheritedMethod.returnType == existingMethod.returnType || + inheritedMethod.returnType.isCompatibleWith(inheritedMethod.returnType)) && super.isInterfaceMethodImplemented(inheritedMethod, existingMethod, superType); } SimpleSet findSuperinterfaceCollisions(ReferenceBinding superclass, ReferenceBinding[] superInterfaces) { #P org.eclipse.jdt.core.tests.compiler Index: src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java,v retrieving revision 1.104 diff -u -r1.104 MethodVerifyTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java 25 Oct 2006 14:18:03 -0000 1.104 +++ src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java 7 Nov 2006 12:40:59 -0000 @@ -708,12 +708,7 @@ "abstract class X2 extends A implements J {}\n" }, "----------\n" + - "1. ERROR in A.java (at line 1)\r\n" + - " abstract class A implements I {}\r\n" + - " ^\n" + - "The return type is incompatible with J.foo(), I.foo()\n" + - "----------\n" + - "2. ERROR in A.java (at line 2)\r\n" + + "1. ERROR in A.java (at line 2)\r\n" + " interface I extends J { Object foo(); }\r\n" + " ^^^^^\n" + "The return type is incompatible with J.foo()\n" + Index: src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java,v retrieving revision 1.554 diff -u -r1.554 GenericTypeTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java 7 Nov 2006 09:37:30 -0000 1.554 +++ src/org/eclipse/jdt/core/tests/compiler/regression/GenericTypeTest.java 7 Nov 2006 12:40:41 -0000 @@ -31247,28 +31247,18 @@ public void test0987() { String expectedOutput = new CompilerOptions(getCompilerOptions()).sourceLevel < ClassFileConstants.JDK1_6 ? "----------\n" + - "1. ERROR in X.java (at line 7)\n" + - " abstract class GLinkElementView extends AbstractLinkView {}\n" + - " ^^^^^^^^^^^^^^^^\n" + - "The return type is incompatible with EditPart.getViewer(), AbstractLinkView.getViewer()\n" + - "----------\n" + - "2. ERROR in X.java (at line 11)\n" + + "1. ERROR in X.java (at line 11)\n" + " public ISheetViewer getViewer() { return null; } \n" + " ^^^^^^^^^^^\n" + "The return type is incompatible with EditPart.getViewer()\n" + "----------\n" + - "3. ERROR in X.java (at line 11)\n" + + "2. ERROR in X.java (at line 11)\n" + " public ISheetViewer getViewer() { return null; } \n" + " ^^^^^^^^^^^\n" + "The method getViewer() of type AbstractLinkView must override a superclass method\n" + "----------\n" : "----------\n" + - "1. ERROR in X.java (at line 7)\n" + - " abstract class GLinkElementView extends AbstractLinkView {}\n" + - " ^^^^^^^^^^^^^^^^\n" + - "The return type is incompatible with EditPart.getViewer(), AbstractLinkView.getViewer()\n" + - "----------\n" + - "2. ERROR in X.java (at line 11)\n" + + "1. ERROR in X.java (at line 11)\n" + " public ISheetViewer getViewer() { return null; } \n" + " ^^^^^^^^^^^\n" + "The return type is incompatible with EditPart.getViewer()\n" + @@ -31360,7 +31350,7 @@ "1. ERROR in X.java (at line 7)\n" + " abstract class GLinkElementView extends AbstractLinkView {}\n" + " ^^^^^^^^^^^^^^^^\n" + - "The return type is incompatible with ILinkViewElement.getViewer(), AbstractEditPart.getViewer(), AbstractLinkView.getViewer()\n" + + "The return type is incompatible with AbstractEditPart.getViewer(), AbstractLinkView.getViewer()\n" + "----------\n" + "2. ERROR in X.java (at line 11)\n" + " public SheetViewer getViewer() { return null; } \n" + Index: src/org/eclipse/jdt/core/tests/compiler/regression/AmbiguousMethodTest.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/AmbiguousMethodTest.java,v retrieving revision 1.22 diff -u -r1.22 AmbiguousMethodTest.java --- src/org/eclipse/jdt/core/tests/compiler/regression/AmbiguousMethodTest.java 6 Nov 2006 10:56:00 -0000 1.22 +++ src/org/eclipse/jdt/core/tests/compiler/regression/AmbiguousMethodTest.java 7 Nov 2006 12:39:21 -0000 @@ -1312,7 +1312,7 @@ "2. ERROR in X.java (at line 10)\n" + " public abstract class X implements J, K {\n" + " ^\n" + - "The return type is incompatible with I.foo(Number), K.foo(Number), J.foo(Number)\n" + + "The return type is incompatible with K.foo(Number), J.foo(Number)\n" + "----------\n"); } // https://bugs.eclipse.org/bugs/show_bug.cgi?id=162065