The folowing is an original test case to catch the problem
detected by jacks 8.1.1.1-default-abstract-12
==================== A.java ====================
/*
* @test %W% %E%
* @bug 4738690
* @summary javac improperly complains of conflict with non-inherited method
* @author gafter
*
* @compile A.java B.java
*/
package a;
public abstract class A {
abstract void f();
}
==================== B.java ====================
interface B {
int f();
}
/** C is legal because no two *inherited* methods conflict. a.A.f() is
* not inherited because it is package private in another package. */
abstract class C extends a.A implements B {
}
detected by jacks 8.1.1.1-default-abstract-12
==================== A.java ====================
/*
* @test %W% %E%
* @bug 4738690
* @summary javac improperly complains of conflict with non-inherited method
* @author gafter
*
* @compile A.java B.java
*/
package a;
public abstract class A {
abstract void f();
}
==================== B.java ====================
interface B {
int f();
}
/** C is legal because no two *inherited* methods conflict. a.A.f() is
* not inherited because it is package private in another package. */
abstract class C extends a.A implements B {
}