| /* |
| * @test /nodynamiccopyright/ |
| * @bug 6987475 |
| * |
| * @summary Order of declarations affects whether abstract method considered overridden |
| * @compile/fail/ref=T6987475neg.out -XDrawDiagnostics T6987475neg.java |
| */ |
| |
| class T6987475neg { |
| static abstract class Base<A> { |
| public void go(String s) { } |
| public abstract void go(A a); |
| } |
| |
| static abstract class BaseReverse<A> { |
| public abstract void go(A a); |
| public void go(String s) { } |
| } |
| |
| static abstract class Sub<A> extends Base<A> { |
| public abstract void go(A a); |
| } |
| static abstract class SubReverse<A> extends BaseReverse<A> { |
| public abstract void go(A a); |
| } |
| |
| static class Impl1 extends Sub<String> { } |
| static class Impl2 extends SubReverse<String> { } |
| } |