Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKent Johnson2008-10-17 15:30:56 +0000
committerKent Johnson2008-10-17 15:30:56 +0000
commitc31c921d319cbf1346e5bfb26cf42ff15297484d (patch)
treec9fcae0fd34f6556ecf7e47610025d041a0022ff /org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java
parentfa506192d119f30253bc6e6fdee670aba4385316 (diff)
downloadeclipse.jdt.core-c31c921d319cbf1346e5bfb26cf42ff15297484d.tar.gz
eclipse.jdt.core-c31c921d319cbf1346e5bfb26cf42ff15297484d.tar.xz
eclipse.jdt.core-c31c921d319cbf1346e5bfb26cf42ff15297484d.zip
HEAD - 251091
Diffstat (limited to 'org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java')
-rw-r--r--org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/MethodVerifyTest.java60
1 files changed, 60 insertions, 0 deletions
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<K,V> 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<E> 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"
+ );
+ }
+}
}

Back to the top