From c31c921d319cbf1346e5bfb26cf42ff15297484d Mon Sep 17 00:00:00 2001 From: Kent Johnson Date: Fri, 17 Oct 2008 15:30:56 +0000 Subject: HEAD - 251091 --- .../compiler/regression/MethodVerifyTest.java | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) (limited to 'org.eclipse.jdt.core.tests.compiler/src/org/eclipse') diff --git a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java index a433f52e84..2e9c123c0f 100644 --- a/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java +++ b/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java @@ -8972,4 +8972,64 @@ public void test176() { false, options); } + +//https://bugs.eclipse.org/bugs/show_bug.cgi?id=251091 +public void test177() { + if (new CompilerOptions(getCompilerOptions()).sourceLevel >= ClassFileConstants.JDK1_6) { + this.runConformTest( + new String[] { + "X.java", + "import java.util.*;\n" + + "interface I { I foo(Collection c); }\n" + + "class A extends LinkedHashMap {\n" + + " public A foo(Collection c) { return this; }\n" + + "}\n" + + "class X extends A implements I {\n" + + " @Override public X foo(Collection c) { return this; }\n" + + "}" + }, + "" + ); + } else { + this.runNegativeTest( + new String[] { + "X.java", + "import java.util.*;\n" + + "interface I { I foo(Collection c); }\n" + + "class A extends LinkedHashMap {\n" + + " public A foo(Collection c) { return this; }\n" + + "}\n" + + "class X extends A implements I {\n" + + " @Override public X foo(Collection c) { return this; }\n" + + "}" + }, + "----------\n" + + "1. WARNING in X.java (at line 3)\n" + + " class A extends LinkedHashMap {\n" + + " ^\n" + + "The serializable class A does not declare a static final serialVersionUID field of type long\n" + + "----------\n" + + "2. WARNING in X.java (at line 3)\n" + + " class A extends LinkedHashMap {\n" + + " ^^^^^^^^^^^^^\n" + + "LinkedHashMap is a raw type. References to generic type LinkedHashMap should be parameterized\n" + + "----------\n" + + "3. WARNING in X.java (at line 4)\n" + + " public A foo(Collection c) { return this; }\n" + + " ^^^^^^^^^^\n" + + "Collection is a raw type. References to generic type Collection should be parameterized\n" + + "----------\n" + + "4. WARNING in X.java (at line 6)\n" + + " class X extends A implements I {\n" + + " ^\n" + + "The serializable class X does not declare a static final serialVersionUID field of type long\n" + + "----------\n" + + "5. ERROR in X.java (at line 7)\n" + + " @Override public X foo(Collection c) { return this; }\n" + + " ^^^^^^^^^^^^^^^^^^^^\n" + + "The method foo(Collection) of type X must override a superclass method\n" + + "----------\n" + ); + } +} } -- cgit v1.2.3