Lines 7987-7990
Link Here
|
7987 |
"----------\n" |
7987 |
"----------\n" |
7988 |
); |
7988 |
); |
7989 |
} |
7989 |
} |
|
|
7990 |
//https://bugs.eclipse.org/bugs/show_bug.cgi?id=204624 |
7991 |
public void test148() { |
7992 |
this.runNegativeTest( |
7993 |
new String[] { |
7994 |
"Y.java", |
7995 |
"abstract class X { abstract <T extends Object> T go(A<T> a); }\n" + |
7996 |
"class Y extends X {\n" + |
7997 |
" @Override <T extends Object> T go(A a) { return null; }\n" + |
7998 |
"}\n" + |
7999 |
"class A<T> {}" |
8000 |
}, |
8001 |
"----------\n" + |
8002 |
"1. ERROR in Y.java (at line 2)\n" + |
8003 |
" class Y extends X {\n" + |
8004 |
" ^\n" + |
8005 |
"The type Y must implement the inherited abstract method X.go(A<T>)\n" + |
8006 |
"----------\n" + |
8007 |
"2. ERROR in Y.java (at line 3)\n" + |
8008 |
" @Override <T extends Object> T go(A a) { return null; }\n" + |
8009 |
" ^^^^^^^\n" + |
8010 |
"Name clash: The method go(A) of type Y has the same erasure as go(A<T>) of type X but does not override it\n" + |
8011 |
"----------\n" + |
8012 |
"3. ERROR in Y.java (at line 3)\n" + |
8013 |
" @Override <T extends Object> T go(A a) { return null; }\n" + |
8014 |
" ^^^^^^^\n" + |
8015 |
"The method go(A) of type Y must override a superclass method\n" + |
8016 |
"----------\n" + |
8017 |
"4. WARNING in Y.java (at line 3)\n" + |
8018 |
" @Override <T extends Object> T go(A a) { return null; }\n" + |
8019 |
" ^\n" + |
8020 |
"A is a raw type. References to generic type A<T> should be parameterized\n" + |
8021 |
"----------\n" |
8022 |
); |
8023 |
} |
7990 |
} |
8024 |
} |