/** @testcase PUREJAVA PR#728 interface using preceding subinterface in its definition (order matters) */
interface Child extends Parent {
interface Toy { }
}
interface Parent { // order matters - must be after Child
Child.Toy battle();
}
public class ParentUsingChildLJH {
public static void main (String[] args) {
if(!Parent.class.isAssignableFrom(Child.class))
System.out.println("!Parent.class.isAssignableFrom(Child.class)");
Parent p = new Parent() {
public Child.Toy battle() {
return new Child.Toy(){};
}
};
Child.Toy battle = p.battle();
if (!(battle instanceof Child.Toy))
System.out.println("!battle instanceof Child.Toy");
}
}