----------\n 1. WARNING in Y.java (at line 7)\r\n public class Y<V extends String> extends X<V> {\r\n ^^^^^^\n The type parameter V should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 2. WARNING in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^\n The type parameter W should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 3. ERROR in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^^^^^^^^^^^^^^^\n Name clash: The method make(Class<W>) of type Y<V> has the same erasure as make(Class<U>) of type X<T> but does not override it\n ----------\n junit.framework.ComparisonFailure: Unexpected failure. ----------- Expected ------------ ------------ but was ------------ ----------\n 1. WARNING in Y.java (at line 7)\r\n public class Y<V extends String> extends X<V> {\r\n ^^^^^^\n The type parameter V should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 2. WARNING in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^\n The type parameter W should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 3. ERROR in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^^^^^^^^^^^^^^^\n Name clash: The method make(Class<W>) of type Y<V> has the same erasure as make(Class<U>) of type X<T> but does not override it\n ----------\n --------- Difference is ---------- expected:<[]> but was:<[----------\n 1. WARNING in Y.java (at line 7)\r\n public class Y<V extends String> extends X<V> {\r\n ^^^^^^\n The type parameter V should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 2. WARNING in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^\n The type parameter W should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 3. ERROR in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^^^^^^^^^^^^^^^\n Name clash: The method make(Class<W>) of type Y<V> has the same erasure as make(Class<U>) of type X<T> but does not override it\n ----------\n ]> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:230) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:206) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2255) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2076) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runConformTest(AbstractRegressionTest.java:1169) at org.eclipse.jdt.core.tests.compiler.regression.AmbiguousMethodTest.test018(AmbiguousMethodTest.java:1491) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.core.tests.util.CompilerTestSetup.run(CompilerTestSetup.java:55) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62) at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) ----------\n 1. ERROR in X.java (at line 15)\n J<Integer> b = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Integer>\n ----------\n 2. ERROR in X.java (at line 16)\n J<Object> c = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Object>\n ----------\n 3. WARNING in X.java (at line 17)\n J d = ints.a();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 4. ERROR in X.java (at line 19)\n I<Integer> f = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Integer>\n ----------\n 5. ERROR in X.java (at line 20)\n I<Object> g = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Object>\n ----------\n 6. WARNING in X.java (at line 21)\n I h = ints.a();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 7. ERROR in X.java (at line 24)\n ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 8. ERROR in X.java (at line 25)\n J<String> a = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 9. ERROR in X.java (at line 26)\n J<Integer> b = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 10. ERROR in X.java (at line 27)\n J<Object> c = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 11. WARNING in X.java (at line 28)\n J d = ints.b();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 12. ERROR in X.java (at line 28)\n J d = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 13. ERROR in X.java (at line 29)\n I<String> e = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 14. ERROR in X.java (at line 30)\n I<Integer> f = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 15. ERROR in X.java (at line 31)\n I<Object> g = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 16. WARNING in X.java (at line 32)\n I h = ints.b();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 17. ERROR in X.java (at line 32)\n I h = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 18. WARNING in X.java (at line 39)\n J d = ints.c();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 19. WARNING in X.java (at line 43)\n I h = ints.c();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n ----------\n 1. ERROR in X.java (at line 8)\n <U> J<String> b();\n ^^^\n Name clash: The method b() of type J<E> has the same erasure as b() of type I<E> but does not override it\n ----------\n 2. ERROR in X.java (at line 15)\n J<Integer> b = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Integer>\n ----------\n 3. ERROR in X.java (at line 16)\n J<Object> c = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Object>\n ----------\n 4. WARNING in X.java (at line 17)\n J d = ints.a();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 5. ERROR in X.java (at line 19)\n I<Integer> f = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Integer>\n ----------\n 6. ERROR in X.java (at line 20)\n I<Object> g = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Object>\n ----------\n 7. WARNING in X.java (at line 21)\n I h = ints.a();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 8. ERROR in X.java (at line 24)\n ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 9. ERROR in X.java (at line 25)\n J<String> a = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 10. ERROR in X.java (at line 26)\n J<Integer> b = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 11. ERROR in X.java (at line 27)\n J<Object> c = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 12. WARNING in X.java (at line 28)\n J d = ints.b();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 13. ERROR in X.java (at line 28)\n J d = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 14. ERROR in X.java (at line 29)\n I<String> e = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 15. ERROR in X.java (at line 30)\n I<Integer> f = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 16. ERROR in X.java (at line 31)\n I<Object> g = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 17. WARNING in X.java (at line 32)\n I h = ints.b();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 18. ERROR in X.java (at line 32)\n I h = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 19. WARNING in X.java (at line 39)\n J d = ints.c();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 20. WARNING in X.java (at line 43)\n I h = ints.c();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n junit.framework.ComparisonFailure: Invalid problem log . ----------- Expected ------------ ----------\n 1. ERROR in X.java (at line 15)\n J<Integer> b = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Integer>\n ----------\n 2. ERROR in X.java (at line 16)\n J<Object> c = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Object>\n ----------\n 3. WARNING in X.java (at line 17)\n J d = ints.a();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 4. ERROR in X.java (at line 19)\n I<Integer> f = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Integer>\n ----------\n 5. ERROR in X.java (at line 20)\n I<Object> g = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Object>\n ----------\n 6. WARNING in X.java (at line 21)\n I h = ints.a();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 7. ERROR in X.java (at line 24)\n ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 8. ERROR in X.java (at line 25)\n J<String> a = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 9. ERROR in X.java (at line 26)\n J<Integer> b = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 10. ERROR in X.java (at line 27)\n J<Object> c = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 11. WARNING in X.java (at line 28)\n J d = ints.b();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 12. ERROR in X.java (at line 28)\n J d = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 13. ERROR in X.java (at line 29)\n I<String> e = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 14. ERROR in X.java (at line 30)\n I<Integer> f = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 15. ERROR in X.java (at line 31)\n I<Object> g = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 16. WARNING in X.java (at line 32)\n I h = ints.b();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 17. ERROR in X.java (at line 32)\n I h = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 18. WARNING in X.java (at line 39)\n J d = ints.c();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 19. WARNING in X.java (at line 43)\n I h = ints.c();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n ------------ but was ------------ ----------\n 1. ERROR in X.java (at line 8)\n <U> J<String> b();\n ^^^\n Name clash: The method b() of type J<E> has the same erasure as b() of type I<E> but does not override it\n ----------\n 2. ERROR in X.java (at line 15)\n J<Integer> b = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Integer>\n ----------\n 3. ERROR in X.java (at line 16)\n J<Object> c = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Object>\n ----------\n 4. WARNING in X.java (at line 17)\n J d = ints.a();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 5. ERROR in X.java (at line 19)\n I<Integer> f = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Integer>\n ----------\n 6. ERROR in X.java (at line 20)\n I<Object> g = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Object>\n ----------\n 7. WARNING in X.java (at line 21)\n I h = ints.a();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 8. ERROR in X.java (at line 24)\n ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 9. ERROR in X.java (at line 25)\n J<String> a = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 10. ERROR in X.java (at line 26)\n J<Integer> b = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 11. ERROR in X.java (at line 27)\n J<Object> c = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 12. WARNING in X.java (at line 28)\n J d = ints.b();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 13. ERROR in X.java (at line 28)\n J d = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 14. ERROR in X.java (at line 29)\n I<String> e = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 15. ERROR in X.java (at line 30)\n I<Integer> f = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 16. ERROR in X.java (at line 31)\n I<Object> g = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 17. WARNING in X.java (at line 32)\n I h = ints.b();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 18. ERROR in X.java (at line 32)\n I h = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 19. WARNING in X.java (at line 39)\n J d = ints.c();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 20. WARNING in X.java (at line 43)\n I h = ints.c();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n --------- Difference is ---------- expected:<... in X.java (at line [15)\n J<Integer> b = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Integer>\n ----------\n 2. ERROR in X.java (at line 16)\n J<Object> c = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Object>\n ----------\n 3. WARNING in X.java (at line 17)\n J d = ints.a();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 4. ERROR in X.java (at line 19)\n I<Integer> f = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Integer>\n ----------\n 5. ERROR in X.java (at line 20)\n I<Object> g = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Object>\n ----------\n 6. WARNING in X.java (at line 21)\n I h = ints.a();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 7. ERROR in X.java (at line 24)\n ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 8. ERROR in X.java (at line 25)\n J<String> a = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 9. ERROR in X.java (at line 26)\n J<Integer> b = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 10. ERROR in X.java (at line 27)\n J<Object> c = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 11. WARNING in X.java (at line 28)\n J d = ints.b();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 12. ERROR in X.java (at line 28)\n J d = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 13. ERROR in X.java (at line 29)\n I<String> e = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 14. ERROR in X.java (at line 30)\n I<Integer> f = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 15. ERROR in X.java (at line 31)\n I<Object> g = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 16. WARNING in X.java (at line 32)\n I h = ints.b();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 17. ERROR in X.java (at line 32)\n I h = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 18. WARNING in X.java (at line 39)\n J d = ints.c();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 19]. WARNING in X.java ...> but was:<... in X.java (at line [8)\n <U> J<String> b();\n ^^^\n Name clash: The method b() of type J<E> has the same erasure as b() of type I<E> but does not override it\n ----------\n 2. ERROR in X.java (at line 15)\n J<Integer> b = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Integer>\n ----------\n 3. ERROR in X.java (at line 16)\n J<Object> c = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to J<Object>\n ----------\n 4. WARNING in X.java (at line 17)\n J d = ints.a();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 5. ERROR in X.java (at line 19)\n I<Integer> f = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Integer>\n ----------\n 6. ERROR in X.java (at line 20)\n I<Object> g = ints.a();\n ^^^^^^^^\n Type mismatch: cannot convert from J<String> to I<Object>\n ----------\n 7. WARNING in X.java (at line 21)\n I h = ints.a();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 8. ERROR in X.java (at line 24)\n ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 9. ERROR in X.java (at line 25)\n J<String> a = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 10. ERROR in X.java (at line 26)\n J<Integer> b = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 11. ERROR in X.java (at line 27)\n J<Object> c = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 12. WARNING in X.java (at line 28)\n J d = ints.b();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 13. ERROR in X.java (at line 28)\n J d = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 14. ERROR in X.java (at line 29)\n I<String> e = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 15. ERROR in X.java (at line 30)\n I<Integer> f = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 16. ERROR in X.java (at line 31)\n I<Object> g = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 17. WARNING in X.java (at line 32)\n I h = ints.b();\n ^\n I is a raw type. References to generic type I<E> should be parameterized\n ----------\n 18. ERROR in X.java (at line 32)\n I h = ints.b();\n ^\n The method b() is ambiguous for the type J<Integer>\n ----------\n 19. WARNING in X.java (at line 39)\n J d = ints.c();\n ^\n J is a raw type. References to generic type J<E> should be parameterized\n ----------\n 20]. WARNING in X.java ...> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:230) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:206) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.checkCompilerLog(AbstractRegressionTest.java:866) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2241) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2076) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runNegativeTest(AbstractRegressionTest.java:1781) at org.eclipse.jdt.core.tests.compiler.regression.AmbiguousMethodTest.test076(AmbiguousMethodTest.java:3273) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.core.tests.util.CompilerTestSetup.run(CompilerTestSetup.java:55) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62) at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) ----------\n 1. ERROR in X.java (at line 9)\r\n <T extends A> I<T> x() throws IllegalAccessError;\r\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method x() of type Two has the same erasure as x() of type One but does not override it\n ----------\n 2. WARNING in X.java (at line 10)\r\n I<B> y() throws IllegalAccessError;\r\n ^\n Type safety: The return type I<B> for y() from the type Two needs unchecked conversion to conform to I<A> from the type One\n ----------\n junit.framework.ComparisonFailure: Unexpected failure. ----------- Expected ------------ ------------ but was ------------ ----------\n 1. ERROR in X.java (at line 9)\r\n <T extends A> I<T> x() throws IllegalAccessError;\r\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method x() of type Two has the same erasure as x() of type One but does not override it\n ----------\n 2. WARNING in X.java (at line 10)\r\n I<B> y() throws IllegalAccessError;\r\n ^\n Type safety: The return type I<B> for y() from the type Two needs unchecked conversion to conform to I<A> from the type One\n ----------\n --------- Difference is ---------- expected:<[]> but was:<[----------\n 1. ERROR in X.java (at line 9)\r\n <T extends A> I<T> x() throws IllegalAccessError;\r\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method x() of type Two has the same erasure as x() of type One but does not override it\n ----------\n 2. WARNING in X.java (at line 10)\r\n I<B> y() throws IllegalAccessError;\r\n ^\n Type safety: The return type I<B> for y() from the type Two needs unchecked conversion to conform to I<A> from the type One\n ----------\n ]> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:230) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:206) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2255) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2076) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runConformTest(AbstractRegressionTest.java:1169) at org.eclipse.jdt.core.tests.compiler.regression.AmbiguousMethodTest.test079(AmbiguousMethodTest.java:3483) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.core.tests.util.CompilerTestSetup.run(CompilerTestSetup.java:55) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62) at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) ----------\n 1. WARNING in Y.java (at line 7)\r\n public class Y<V extends String> extends X<V> {\r\n ^^^^^^\n The type parameter V should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 2. WARNING in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^\n The type parameter W should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 3. ERROR in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^^^^^^^^^^^^^^^\n Name clash: The method make(Class<W>) of type Y<V> has the same erasure as make(Class<U>) of type X<T> but does not override it\n ----------\n 4. WARNING in Y.java (at line 13)\r\n Y.make(getClazz());\r\n ^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation make(Class) of the generic method make(Class<W>) of type Y\n ----------\n 5. WARNING in Y.java (at line 13)\r\n Y.make(getClazz());\r\n ^^^^^^^^^^\n Type safety: The expression of type Class needs unchecked conversion to conform to Class<String>\n ----------\n 6. WARNING in Y.java (at line 15)\r\n public static Class getClazz() {\r\n ^^^^^\n Class is a raw type. References to generic type Class<T> should be parameterized\n ----------\n junit.framework.ComparisonFailure: Unexpected failure. ----------- Expected ------------ ------------ but was ------------ ----------\n 1. WARNING in Y.java (at line 7)\r\n public class Y<V extends String> extends X<V> {\r\n ^^^^^^\n The type parameter V should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 2. WARNING in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^\n The type parameter W should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 3. ERROR in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^^^^^^^^^^^^^^^\n Name clash: The method make(Class<W>) of type Y<V> has the same erasure as make(Class<U>) of type X<T> but does not override it\n ----------\n 4. WARNING in Y.java (at line 13)\r\n Y.make(getClazz());\r\n ^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation make(Class) of the generic method make(Class<W>) of type Y\n ----------\n 5. WARNING in Y.java (at line 13)\r\n Y.make(getClazz());\r\n ^^^^^^^^^^\n Type safety: The expression of type Class needs unchecked conversion to conform to Class<String>\n ----------\n 6. WARNING in Y.java (at line 15)\r\n public static Class getClazz() {\r\n ^^^^^\n Class is a raw type. References to generic type Class<T> should be parameterized\n ----------\n --------- Difference is ---------- expected:<[]> but was:<[----------\n 1. WARNING in Y.java (at line 7)\r\n public class Y<V extends String> extends X<V> {\r\n ^^^^^^\n The type parameter V should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 2. WARNING in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^\n The type parameter W should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 3. ERROR in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^^^^^^^^^^^^^^^\n Name clash: The method make(Class<W>) of type Y<V> has the same erasure as make(Class<U>) of type X<T> but does not override it\n ----------\n 4. WARNING in Y.java (at line 13)\r\n Y.make(getClazz());\r\n ^^^^^^^^^^^^^^^^^^\n Type safety: Unchecked invocation make(Class) of the generic method make(Class<W>) of type Y\n ----------\n 5. WARNING in Y.java (at line 13)\r\n Y.make(getClazz());\r\n ^^^^^^^^^^\n Type safety: The expression of type Class needs unchecked conversion to conform to Class<String>\n ----------\n 6. WARNING in Y.java (at line 15)\r\n public static Class getClazz() {\r\n ^^^^^\n Class is a raw type. References to generic type Class<T> should be parameterized\n ----------\n ]> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:230) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:206) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2255) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2076) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runConformTest(AbstractRegressionTest.java:1169) at org.eclipse.jdt.core.tests.compiler.regression.AmbiguousMethodTest.test019(AmbiguousMethodTest.java:1516) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.core.tests.util.CompilerTestSetup.run(CompilerTestSetup.java:55) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62) at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) ----------\n 1. WARNING in Y.java (at line 7)\r\n public class Y<V extends String> extends X<V> {\r\n ^^^^^^\n The type parameter V should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 2. WARNING in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^\n The type parameter W should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 3. ERROR in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^^^^^^^^^^^^^^^\n Name clash: The method make(Class<W>) of type Y<V> has the same erasure as make(Class<U>) of type X<T> but does not override it\n ----------\n 4. WARNING in Y.java (at line 15)\r\n public static Class getClazz() {\r\n ^^^^^\n Class is a raw type. References to generic type Class<T> should be parameterized\n ----------\n junit.framework.ComparisonFailure: Unexpected failure. ----------- Expected ------------ ------------ but was ------------ ----------\n 1. WARNING in Y.java (at line 7)\r\n public class Y<V extends String> extends X<V> {\r\n ^^^^^^\n The type parameter V should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 2. WARNING in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^\n The type parameter W should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 3. ERROR in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^^^^^^^^^^^^^^^\n Name clash: The method make(Class<W>) of type Y<V> has the same erasure as make(Class<U>) of type X<T> but does not override it\n ----------\n 4. WARNING in Y.java (at line 15)\r\n public static Class getClazz() {\r\n ^^^^^\n Class is a raw type. References to generic type Class<T> should be parameterized\n ----------\n --------- Difference is ---------- expected:<[]> but was:<[----------\n 1. WARNING in Y.java (at line 7)\r\n public class Y<V extends String> extends X<V> {\r\n ^^^^^^\n The type parameter V should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 2. WARNING in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^\n The type parameter W should not be bounded by the final type String. Final types cannot be further extended\n ----------\n 3. ERROR in Y.java (at line 8)\r\n public static <W extends String> Y<W> make(Class<W> clazz) {\r\n ^^^^^^^^^^^^^^^^^^^^\n Name clash: The method make(Class<W>) of type Y<V> has the same erasure as make(Class<U>) of type X<T> but does not override it\n ----------\n 4. WARNING in Y.java (at line 15)\r\n public static Class getClazz() {\r\n ^^^^^\n Class is a raw type. References to generic type Class<T> should be parameterized\n ----------\n ]> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:230) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:206) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2255) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2076) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runConformTest(AbstractRegressionTest.java:1169) at org.eclipse.jdt.core.tests.compiler.regression.AmbiguousMethodTest.test020(AmbiguousMethodTest.java:1542) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.core.tests.util.CompilerTestSetup.run(CompilerTestSetup.java:55) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62) at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) ----------\n 1. WARNING in X.java (at line 2)\r\n void bar(X x) {\r\n ^\n X is a raw type. References to generic type X<T> should be parameterized\n ----------\n 2. WARNING in X.java (at line 3)\r\n ZA z = ZA.foo(x);\r\n ^^\n ZA is a raw type. References to generic type ZA<T> should be parameterized\n ----------\n 3. WARNING in X.java (at line 3)\r\n ZA z = ZA.foo(x);\r\n ^^^^^^^^^\n Type safety: Unchecked invocation foo(X) of the generic method foo(X<U>) of type ZA\n ----------\n 4. WARNING in X.java (at line 3)\r\n ZA z = ZA.foo(x);\r\n ^\n Type safety: The expression of type X needs unchecked conversion to conform to X<B>\n ----------\n 5. ERROR in X.java (at line 13)\r\n public static <U extends A> YA<U> foo(X<U> x) {\r\n ^^^^^^^^^^^\n Name clash: The method foo(X<U>) of type YA<T> has the same erasure as foo(X<U>) of type Y<T> but does not override it\n ----------\n 6. ERROR in X.java (at line 18)\r\n public static <U extends B> ZA<U> foo(X<U> x) {\r\n ^^^^^^^^^^^\n Name clash: The method foo(X<U>) of type ZA<T> has the same erasure as foo(X<U>) of type YA<T> but does not override it\n ----------\n 7. ERROR in X.java (at line 18)\r\n public static <U extends B> ZA<U> foo(X<U> x) {\r\n ^^^^^^^^^^^\n Name clash: The method foo(X<U>) of type ZA<T> has the same erasure as foo(X<U>) of type Y<T> but does not override it\n ----------\n junit.framework.ComparisonFailure: Unexpected failure. ----------- Expected ------------ ------------ but was ------------ ----------\n 1. WARNING in X.java (at line 2)\r\n void bar(X x) {\r\n ^\n X is a raw type. References to generic type X<T> should be parameterized\n ----------\n 2. WARNING in X.java (at line 3)\r\n ZA z = ZA.foo(x);\r\n ^^\n ZA is a raw type. References to generic type ZA<T> should be parameterized\n ----------\n 3. WARNING in X.java (at line 3)\r\n ZA z = ZA.foo(x);\r\n ^^^^^^^^^\n Type safety: Unchecked invocation foo(X) of the generic method foo(X<U>) of type ZA\n ----------\n 4. WARNING in X.java (at line 3)\r\n ZA z = ZA.foo(x);\r\n ^\n Type safety: The expression of type X needs unchecked conversion to conform to X<B>\n ----------\n 5. ERROR in X.java (at line 13)\r\n public static <U extends A> YA<U> foo(X<U> x) {\r\n ^^^^^^^^^^^\n Name clash: The method foo(X<U>) of type YA<T> has the same erasure as foo(X<U>) of type Y<T> but does not override it\n ----------\n 6. ERROR in X.java (at line 18)\r\n public static <U extends B> ZA<U> foo(X<U> x) {\r\n ^^^^^^^^^^^\n Name clash: The method foo(X<U>) of type ZA<T> has the same erasure as foo(X<U>) of type YA<T> but does not override it\n ----------\n 7. ERROR in X.java (at line 18)\r\n public static <U extends B> ZA<U> foo(X<U> x) {\r\n ^^^^^^^^^^^\n Name clash: The method foo(X<U>) of type ZA<T> has the same erasure as foo(X<U>) of type Y<T> but does not override it\n ----------\n --------- Difference is ---------- expected:<[]> but was:<[----------\n 1. WARNING in X.java (at line 2)\r\n void bar(X x) {\r\n ^\n X is a raw type. References to generic type X<T> should be parameterized\n ----------\n 2. WARNING in X.java (at line 3)\r\n ZA z = ZA.foo(x);\r\n ^^\n ZA is a raw type. References to generic type ZA<T> should be parameterized\n ----------\n 3. WARNING in X.java (at line 3)\r\n ZA z = ZA.foo(x);\r\n ^^^^^^^^^\n Type safety: Unchecked invocation foo(X) of the generic method foo(X<U>) of type ZA\n ----------\n 4. WARNING in X.java (at line 3)\r\n ZA z = ZA.foo(x);\r\n ^\n Type safety: The expression of type X needs unchecked conversion to conform to X<B>\n ----------\n 5. ERROR in X.java (at line 13)\r\n public static <U extends A> YA<U> foo(X<U> x) {\r\n ^^^^^^^^^^^\n Name clash: The method foo(X<U>) of type YA<T> has the same erasure as foo(X<U>) of type Y<T> but does not override it\n ----------\n 6. ERROR in X.java (at line 18)\r\n public static <U extends B> ZA<U> foo(X<U> x) {\r\n ^^^^^^^^^^^\n Name clash: The method foo(X<U>) of type ZA<T> has the same erasure as foo(X<U>) of type YA<T> but does not override it\n ----------\n 7. ERROR in X.java (at line 18)\r\n public static <U extends B> ZA<U> foo(X<U> x) {\r\n ^^^^^^^^^^^\n Name clash: The method foo(X<U>) of type ZA<T> has the same erasure as foo(X<U>) of type Y<T> but does not override it\n ----------\n ]> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:230) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:206) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2255) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2076) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runConformTest(AbstractRegressionTest.java:1169) at org.eclipse.jdt.core.tests.compiler.regression.AmbiguousMethodTest.test056(AmbiguousMethodTest.java:2512) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.core.tests.util.CompilerTestSetup.run(CompilerTestSetup.java:55) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62) at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) ----------\n 1. WARNING in X.java (at line 4)\r\n class YYY implements J, I { public void foo(A a) {} }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 2. WARNING in X.java (at line 5)\r\n class XXX implements I, J { public void foo(A a) {} }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 3. WARNING in X.java (at line 6)\r\n class ZZZ implements K { public void foo(A a) {} }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 4. WARNING in X.java (at line 7)\r\n interface I { void foo(A a); }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 5. ERROR in X.java (at line 9)\r\n interface K extends I { void foo(A<String> a); }\r\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type K has the same erasure as foo(A) of type I but does not override it\n ----------\n junit.framework.ComparisonFailure: Unexpected failure. ----------- Expected ------------ ------------ but was ------------ ----------\n 1. WARNING in X.java (at line 4)\r\n class YYY implements J, I { public void foo(A a) {} }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 2. WARNING in X.java (at line 5)\r\n class XXX implements I, J { public void foo(A a) {} }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 3. WARNING in X.java (at line 6)\r\n class ZZZ implements K { public void foo(A a) {} }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 4. WARNING in X.java (at line 7)\r\n interface I { void foo(A a); }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 5. ERROR in X.java (at line 9)\r\n interface K extends I { void foo(A<String> a); }\r\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type K has the same erasure as foo(A) of type I but does not override it\n ----------\n --------- Difference is ---------- expected:<[]> but was:<[----------\n 1. WARNING in X.java (at line 4)\r\n class YYY implements J, I { public void foo(A a) {} }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 2. WARNING in X.java (at line 5)\r\n class XXX implements I, J { public void foo(A a) {} }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 3. WARNING in X.java (at line 6)\r\n class ZZZ implements K { public void foo(A a) {} }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 4. WARNING in X.java (at line 7)\r\n interface I { void foo(A a); }\r\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 5. ERROR in X.java (at line 9)\r\n interface K extends I { void foo(A<String> a); }\r\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type K has the same erasure as foo(A) of type I but does not override it\n ----------\n ]> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:230) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:206) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2255) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2076) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runConformTest(AbstractRegressionTest.java:1169) at org.eclipse.jdt.core.tests.compiler.regression.MethodVerifyTest.test037(MethodVerifyTest.java:2415) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.core.tests.util.CompilerTestSetup.run(CompilerTestSetup.java:55) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62) at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) ----------\n 1. ERROR in B.java (at line 2)\n static void a(X x) {}\n ^^^^^^\n This static method cannot hide the instance method from A\n ----------\n 2. ERROR in B.java (at line 3)\n static void b(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method b(Y<String>) of type B has the same erasure as b(Y<Integer>) of type A but does not override it\n ----------\n ----------\n 1. ERROR in B2.java (at line 2)\n static void b(Y<Integer> y) {}\n ^^^^^^^^^^^^^^^\n This static method cannot hide the instance method from A\n ----------\n ----------\n 1. ERROR in C.java (at line 3)\n void b(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method b(Y<String>) of type C has the same erasure as b(Y<Integer>) of type A but does not override it\n ----------\n 2. ERROR in C.java (at line 4)\n void c(X x) {}\n ^^^^^^\n This instance method cannot override the static method from A\n ----------\n ----------\n 1. ERROR in C2.java (at line 3)\n void d(Y<Integer> y) {}\n ^^^^^^^^^^^^^^^\n This instance method cannot override the static method from A\n ----------\n ----------\n 1. ERROR in B.java (at line 2)\n static void a(X x) {}\n ^^^^^^\n This static method cannot hide the instance method from A\n ----------\n 2. ERROR in B.java (at line 3)\n static void b(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method b(Y<String>) of type B has the same erasure as b(Y<Integer>) of type A but does not override it\n ----------\n 3. ERROR in B.java (at line 5)\n static void d(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method d(Y<String>) of type B has the same erasure as d(Y<Integer>) of type A but does not override it\n ----------\n ----------\n 1. ERROR in B2.java (at line 2)\n static void b(Y<Integer> y) {}\n ^^^^^^^^^^^^^^^\n This static method cannot hide the instance method from A\n ----------\n ----------\n 1. ERROR in C.java (at line 3)\n void b(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method b(Y<String>) of type C has the same erasure as b(Y<Integer>) of type A but does not override it\n ----------\n 2. ERROR in C.java (at line 4)\n void c(X x) {}\n ^^^^^^\n This instance method cannot override the static method from A\n ----------\n 3. ERROR in C.java (at line 5)\n void d(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method d(Y<String>) of type C has the same erasure as d(Y<Integer>) of type A but does not override it\n ----------\n ----------\n 1. ERROR in C2.java (at line 3)\n void d(Y<Integer> y) {}\n ^^^^^^^^^^^^^^^\n This instance method cannot override the static method from A\n ----------\n junit.framework.ComparisonFailure: Invalid problem log . ----------- Expected ------------ ----------\n 1. ERROR in B.java (at line 2)\n static void a(X x) {}\n ^^^^^^\n This static method cannot hide the instance method from A\n ----------\n 2. ERROR in B.java (at line 3)\n static void b(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method b(Y<String>) of type B has the same erasure as b(Y<Integer>) of type A but does not override it\n ----------\n ----------\n 1. ERROR in B2.java (at line 2)\n static void b(Y<Integer> y) {}\n ^^^^^^^^^^^^^^^\n This static method cannot hide the instance method from A\n ----------\n ----------\n 1. ERROR in C.java (at line 3)\n void b(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method b(Y<String>) of type C has the same erasure as b(Y<Integer>) of type A but does not override it\n ----------\n 2. ERROR in C.java (at line 4)\n void c(X x) {}\n ^^^^^^\n This instance method cannot override the static method from A\n ----------\n ----------\n 1. ERROR in C2.java (at line 3)\n void d(Y<Integer> y) {}\n ^^^^^^^^^^^^^^^\n This instance method cannot override the static method from A\n ----------\n ------------ but was ------------ ----------\n 1. ERROR in B.java (at line 2)\n static void a(X x) {}\n ^^^^^^\n This static method cannot hide the instance method from A\n ----------\n 2. ERROR in B.java (at line 3)\n static void b(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method b(Y<String>) of type B has the same erasure as b(Y<Integer>) of type A but does not override it\n ----------\n 3. ERROR in B.java (at line 5)\n static void d(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method d(Y<String>) of type B has the same erasure as d(Y<Integer>) of type A but does not override it\n ----------\n ----------\n 1. ERROR in B2.java (at line 2)\n static void b(Y<Integer> y) {}\n ^^^^^^^^^^^^^^^\n This static method cannot hide the instance method from A\n ----------\n ----------\n 1. ERROR in C.java (at line 3)\n void b(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method b(Y<String>) of type C has the same erasure as b(Y<Integer>) of type A but does not override it\n ----------\n 2. ERROR in C.java (at line 4)\n void c(X x) {}\n ^^^^^^\n This instance method cannot override the static method from A\n ----------\n 3. ERROR in C.java (at line 5)\n void d(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method d(Y<String>) of type C has the same erasure as d(Y<Integer>) of type A but does not override it\n ----------\n ----------\n 1. ERROR in C2.java (at line 3)\n void d(Y<Integer> y) {}\n ^^^^^^^^^^^^^^^\n This instance method cannot override the static method from A\n ----------\n --------- Difference is ---------- expected:<...e it\n ----------\n [----------\n 1. ERROR in B2.java (at line 2)\n static void b(Y<Integer> y) {}\n ^^^^^^^^^^^^^^^\n This static method cannot hide the instance method from A\n ----------\n ----------\n 1. ERROR in C.java (at line 3)\n void b(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method b(Y<String>) of type C has the same erasure as b(Y<Integer>) of type A but does not override it\n ----------\n 2. ERROR in C.java (at line 4)\n void c(X x) {}\n ^^^^^^\n This instance method cannot override the static method from A]\n ----------\n ----...> but was:<...e it\n ----------\n [3. ERROR in B.java (at line 5)\n static void d(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method d(Y<String>) of type B has the same erasure as d(Y<Integer>) of type A but does not override it\n ----------\n ----------\n 1. ERROR in B2.java (at line 2)\n static void b(Y<Integer> y) {}\n ^^^^^^^^^^^^^^^\n This static method cannot hide the instance method from A\n ----------\n ----------\n 1. ERROR in C.java (at line 3)\n void b(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method b(Y<String>) of type C has the same erasure as b(Y<Integer>) of type A but does not override it\n ----------\n 2. ERROR in C.java (at line 4)\n void c(X x) {}\n ^^^^^^\n This instance method cannot override the static method from A\n ----------\n 3. ERROR in C.java (at line 5)\n void d(Y<String> y) {}\n ^^^^^^^^^^^^^^\n Name clash: The method d(Y<String>) of type C has the same erasure as d(Y<Integer>) of type A but does not override it]\n ----------\n ----...> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:230) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:206) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.checkCompilerLog(AbstractRegressionTest.java:866) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2241) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2076) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runNegativeTest(AbstractRegressionTest.java:1781) at org.eclipse.jdt.core.tests.compiler.regression.MethodVerifyTest.test149(MethodVerifyTest.java:8694) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.core.tests.util.CompilerTestSetup.run(CompilerTestSetup.java:55) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62) at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) ----------\n 1. WARNING in Parent.java (at line 3)\n static void staticCase1(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 2. WARNING in Parent.java (at line 5)\n void instanceCase1(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 3. WARNING in Parent.java (at line 10)\n static void staticCase2(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 4. ERROR in Parent.java (at line 11)\n void instanceCase1(Collection<String> c) {}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method instanceCase1(Collection<String>) of type Child has the same erasure as instanceCase1(Collection) of type Parent but does not override it\n ----------\n 5. WARNING in Parent.java (at line 12)\n @Override void instanceCase2(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n ----------\n 1. WARNING in Parent.java (at line 3)\n static void staticCase1(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 2. WARNING in Parent.java (at line 5)\n void instanceCase1(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 3. ERROR in Parent.java (at line 9)\n static void staticCase1(Collection<String> c) {}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method staticCase1(Collection<String>) of type Child has the same erasure as staticCase1(Collection) of type Parent but does not override it\n ----------\n 4. WARNING in Parent.java (at line 10)\n static void staticCase2(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 5. ERROR in Parent.java (at line 11)\n void instanceCase1(Collection<String> c) {}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method instanceCase1(Collection<String>) of type Child has the same erasure as instanceCase1(Collection) of type Parent but does not override it\n ----------\n 6. WARNING in Parent.java (at line 12)\n @Override void instanceCase2(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n junit.framework.ComparisonFailure: Invalid problem log . ----------- Expected ------------ ----------\n 1. WARNING in Parent.java (at line 3)\n static void staticCase1(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 2. WARNING in Parent.java (at line 5)\n void instanceCase1(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 3. WARNING in Parent.java (at line 10)\n static void staticCase2(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 4. ERROR in Parent.java (at line 11)\n void instanceCase1(Collection<String> c) {}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method instanceCase1(Collection<String>) of type Child has the same erasure as instanceCase1(Collection) of type Parent but does not override it\n ----------\n 5. WARNING in Parent.java (at line 12)\n @Override void instanceCase2(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n ------------ but was ------------ ----------\n 1. WARNING in Parent.java (at line 3)\n static void staticCase1(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 2. WARNING in Parent.java (at line 5)\n void instanceCase1(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 3. ERROR in Parent.java (at line 9)\n static void staticCase1(Collection<String> c) {}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method staticCase1(Collection<String>) of type Child has the same erasure as staticCase1(Collection) of type Parent but does not override it\n ----------\n 4. WARNING in Parent.java (at line 10)\n static void staticCase2(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 5. ERROR in Parent.java (at line 11)\n void instanceCase1(Collection<String> c) {}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method instanceCase1(Collection<String>) of type Child has the same erasure as instanceCase1(Collection) of type Parent but does not override it\n ----------\n 6. WARNING in Parent.java (at line 12)\n @Override void instanceCase2(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n --------- Difference is ---------- expected:<...d\n ----------\n 3. [WARNING in Parent.java (at line 10)\n static void staticCase2(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 4. ERROR in Parent.java (at line 11)\n void instanceCase1(Collection<String> c) {}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method instanceCase1(Collection<String>) of type Child has the same erasure as instanceCase1(Collection) of type Parent but does not override it\n ----------\n 5]. WARNING in Parent....> but was:<...d\n ----------\n 3. [ERROR in Parent.java (at line 9)\n static void staticCase1(Collection<String> c) {}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method staticCase1(Collection<String>) of type Child has the same erasure as staticCase1(Collection) of type Parent but does not override it\n ----------\n 4. WARNING in Parent.java (at line 10)\n static void staticCase2(Collection c) {}\n ^^^^^^^^^^\n Collection is a raw type. References to generic type Collection<E> should be parameterized\n ----------\n 5. ERROR in Parent.java (at line 11)\n void instanceCase1(Collection<String> c) {}\n ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n Name clash: The method instanceCase1(Collection<String>) of type Child has the same erasure as instanceCase1(Collection) of type Parent but does not override it\n ----------\n 6]. WARNING in Parent....> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:230) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:206) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.checkCompilerLog(AbstractRegressionTest.java:866) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2241) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2076) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runNegativeTest(AbstractRegressionTest.java:1781) at org.eclipse.jdt.core.tests.compiler.regression.MethodVerifyTest.test085(MethodVerifyTest.java:5946) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.core.tests.util.CompilerTestSetup.run(CompilerTestSetup.java:55) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62) at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) ----------\n 1. WARNING in PurebredCatShopImpl.java (at line 10)\n public List<Pet> getPets() { return null; }\n ^^^^\n Type safety: The return type List<Pet> for getPets() from the type CatShopImpl needs unchecked conversion to conform to List<? extends Cat> from the type CatShop\n ----------\n ----------\n 1. ERROR in PurebredCatShopImpl.java (at line 6)\n <V extends Pet> List<? extends Cat> getPets();\n ^^^^^^^^^\n Name clash: The method getPets() of type CatShop has the same erasure as getPets() of type PetShop but does not override it\n ----------\n 2. WARNING in PurebredCatShopImpl.java (at line 10)\n public List<Pet> getPets() { return null; }\n ^^^^\n Type safety: The return type List<Pet> for getPets() from the type CatShopImpl needs unchecked conversion to conform to List<? extends Cat> from the type CatShop\n ----------\n junit.framework.ComparisonFailure: Invalid problem log . ----------- Expected ------------ ----------\n 1. WARNING in PurebredCatShopImpl.java (at line 10)\n public List<Pet> getPets() { return null; }\n ^^^^\n Type safety: The return type List<Pet> for getPets() from the type CatShopImpl needs unchecked conversion to conform to List<? extends Cat> from the type CatShop\n ----------\n ------------ but was ------------ ----------\n 1. ERROR in PurebredCatShopImpl.java (at line 6)\n <V extends Pet> List<? extends Cat> getPets();\n ^^^^^^^^^\n Name clash: The method getPets() of type CatShop has the same erasure as getPets() of type PetShop but does not override it\n ----------\n 2. WARNING in PurebredCatShopImpl.java (at line 10)\n public List<Pet> getPets() { return null; }\n ^^^^\n Type safety: The return type List<Pet> for getPets() from the type CatShopImpl needs unchecked conversion to conform to List<? extends Cat> from the type CatShop\n ----------\n --------- Difference is ---------- expected:<----------\n 1. []WARNING in PurebredC...> but was:<----------\n 1. [ERROR in PurebredCatShopImpl.java (at line 6)\n <V extends Pet> List<? extends Cat> getPets();\n ^^^^^^^^^\n Name clash: The method getPets() of type CatShop has the same erasure as getPets() of type PetShop but does not override it\n ----------\n 2. ]WARNING in PurebredC...> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:230) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:206) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.checkCompilerLog(AbstractRegressionTest.java:866) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2241) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2076) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runNegativeTest(AbstractRegressionTest.java:1781) at org.eclipse.jdt.core.tests.compiler.regression.MethodVerifyTest.test144(MethodVerifyTest.java:8556) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.core.tests.util.CompilerTestSetup.run(CompilerTestSetup.java:55) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62) at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386) ----------\n 1. ERROR in XX.java (at line 1)\n public class XX implements I, J { public void foo(A<String> a) {} }\n ^^\n The type XX must implement the inherited abstract method I.foo(A)\n ----------\n 2. ERROR in XX.java (at line 1)\n public class XX implements I, J { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type XX has the same erasure as foo(A) of type I but does not override it\n ----------\n 3. ERROR in XX.java (at line 2)\n class YY implements J, I { public void foo(A<String> a) {} }\n ^^\n The type YY must implement the inherited abstract method I.foo(A)\n ----------\n 4. ERROR in XX.java (at line 2)\n class YY implements J, I { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type YY has the same erasure as foo(A) of type I but does not override it\n ----------\n 5. ERROR in XX.java (at line 3)\n class ZZ implements K { public void foo(A<String> a) {} }\n ^^\n The type ZZ must implement the inherited abstract method I.foo(A)\n ----------\n 6. ERROR in XX.java (at line 3)\n class ZZ implements K { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type ZZ has the same erasure as foo(A) of type I but does not override it\n ----------\n 7. WARNING in XX.java (at line 4)\n interface I { void foo(A a); }\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n ----------\n 1. ERROR in XX.java (at line 1)\n public class XX implements I, J { public void foo(A<String> a) {} }\n ^^\n The type XX must implement the inherited abstract method I.foo(A)\n ----------\n 2. ERROR in XX.java (at line 1)\n public class XX implements I, J { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type XX has the same erasure as foo(A) of type I but does not override it\n ----------\n 3. ERROR in XX.java (at line 2)\n class YY implements J, I { public void foo(A<String> a) {} }\n ^^\n The type YY must implement the inherited abstract method I.foo(A)\n ----------\n 4. ERROR in XX.java (at line 2)\n class YY implements J, I { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type YY has the same erasure as foo(A) of type I but does not override it\n ----------\n 5. ERROR in XX.java (at line 3)\n class ZZ implements K { public void foo(A<String> a) {} }\n ^^\n The type ZZ must implement the inherited abstract method I.foo(A)\n ----------\n 6. ERROR in XX.java (at line 3)\n class ZZ implements K { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type ZZ has the same erasure as foo(A) of type I but does not override it\n ----------\n 7. WARNING in XX.java (at line 4)\n interface I { void foo(A a); }\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 8. ERROR in XX.java (at line 6)\n interface K extends I { void foo(A<String> a); }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type K has the same erasure as foo(A) of type I but does not override it\n ----------\n junit.framework.ComparisonFailure: Invalid problem log . ----------- Expected ------------ ----------\n 1. ERROR in XX.java (at line 1)\n public class XX implements I, J { public void foo(A<String> a) {} }\n ^^\n The type XX must implement the inherited abstract method I.foo(A)\n ----------\n 2. ERROR in XX.java (at line 1)\n public class XX implements I, J { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type XX has the same erasure as foo(A) of type I but does not override it\n ----------\n 3. ERROR in XX.java (at line 2)\n class YY implements J, I { public void foo(A<String> a) {} }\n ^^\n The type YY must implement the inherited abstract method I.foo(A)\n ----------\n 4. ERROR in XX.java (at line 2)\n class YY implements J, I { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type YY has the same erasure as foo(A) of type I but does not override it\n ----------\n 5. ERROR in XX.java (at line 3)\n class ZZ implements K { public void foo(A<String> a) {} }\n ^^\n The type ZZ must implement the inherited abstract method I.foo(A)\n ----------\n 6. ERROR in XX.java (at line 3)\n class ZZ implements K { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type ZZ has the same erasure as foo(A) of type I but does not override it\n ----------\n 7. WARNING in XX.java (at line 4)\n interface I { void foo(A a); }\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n ------------ but was ------------ ----------\n 1. ERROR in XX.java (at line 1)\n public class XX implements I, J { public void foo(A<String> a) {} }\n ^^\n The type XX must implement the inherited abstract method I.foo(A)\n ----------\n 2. ERROR in XX.java (at line 1)\n public class XX implements I, J { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type XX has the same erasure as foo(A) of type I but does not override it\n ----------\n 3. ERROR in XX.java (at line 2)\n class YY implements J, I { public void foo(A<String> a) {} }\n ^^\n The type YY must implement the inherited abstract method I.foo(A)\n ----------\n 4. ERROR in XX.java (at line 2)\n class YY implements J, I { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type YY has the same erasure as foo(A) of type I but does not override it\n ----------\n 5. ERROR in XX.java (at line 3)\n class ZZ implements K { public void foo(A<String> a) {} }\n ^^\n The type ZZ must implement the inherited abstract method I.foo(A)\n ----------\n 6. ERROR in XX.java (at line 3)\n class ZZ implements K { public void foo(A<String> a) {} }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type ZZ has the same erasure as foo(A) of type I but does not override it\n ----------\n 7. WARNING in XX.java (at line 4)\n interface I { void foo(A a); }\n ^\n A is a raw type. References to generic type A<T> should be parameterized\n ----------\n 8. ERROR in XX.java (at line 6)\n interface K extends I { void foo(A<String> a); }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type K has the same erasure as foo(A) of type I but does not override it\n ----------\n --------- Difference is ---------- expected:<...ized\n ----------\n []> but was:<...ized\n ----------\n [8. ERROR in XX.java (at line 6)\n interface K extends I { void foo(A<String> a); }\n ^^^^^^^^^^^^^^^^\n Name clash: The method foo(A<String>) of type K has the same erasure as foo(A) of type I but does not override it\n ----------\n ]> at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertStringEquals(TestCase.java:230) at org.eclipse.jdt.core.tests.junit.extension.TestCase.assertEquals(TestCase.java:206) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.checkCompilerLog(AbstractRegressionTest.java:866) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2241) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runTest(AbstractRegressionTest.java:2076) at org.eclipse.jdt.core.tests.compiler.regression.AbstractRegressionTest.runNegativeTest(AbstractRegressionTest.java:1781) at org.eclipse.jdt.core.tests.compiler.regression.MethodVerifyTest.test037b(MethodVerifyTest.java:2458) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at junit.framework.TestCase.runTest(TestCase.java:168) at junit.framework.TestCase.runBare(TestCase.java:134) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.core.tests.util.CompilerTestSetup.run(CompilerTestSetup.java:55) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) at org.eclipse.pde.internal.junit.runtime.RemotePluginTestRunner.main(RemotePluginTestRunner.java:62) at org.eclipse.pde.internal.junit.runtime.CoreTestApplication.run(CoreTestApplication.java:23) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.internal.app.EclipseAppContainer.callMethodWithException(EclipseAppContainer.java:587) at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:198) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110) at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369) at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:613) at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622) at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577) at org.eclipse.equinox.launcher.Main.run(Main.java:1410) at org.eclipse.equinox.launcher.Main.main(Main.java:1386)