T6987475neg.java revision 2704:7b6a6aeeb544
1/*
2 * @test /nodynamiccopyright/
3 * @bug 6987475
4 *
5 * @summary Order of declarations affects whether abstract method considered overridden
6 * @compile/fail/ref=T6987475neg.out -XDrawDiagnostics T6987475neg.java
7 */
8
9class T6987475neg {
10    static abstract class Base<A> {
11        public void go(String s) { }
12        public abstract void go(A a);
13    }
14
15    static abstract class BaseReverse<A> {
16        public abstract void go(A a);
17        public void go(String s) { }
18    }
19
20    static abstract class Sub<A> extends Base<A> {
21        public abstract void go(A a);
22    }
23    static abstract class SubReverse<A> extends BaseReverse<A> {
24        public abstract void go(A a);
25    }
26
27    static class Impl1 extends Sub<String> { }
28    static class Impl2 extends SubReverse<String> { }
29}
30