// Extended regression test for the PR 179. // // This tests the ".class" language syntax, initialization behaviour for // Class.isInstance() and Class.isAssignableFrom(), and isAssignableFrom() // functionality in the event that an interface argument that is not // implemented by any loaded class is given. // // Bryce McKinlay class A { static { System.out.println("A initialized"); } } interface IA {} class B implements IA { static { System.out.println("B initialized"); } } class C { static { System.out.println("C initialized"); } } interface IB {} public class pr179 { public static void main(String[] args) { System.out.println (A.class.isAssignableFrom (Object.class)); System.out.println (IB.class.isAssignableFrom (B.class)); System.out.println (IA.class.isAssignableFrom (B.class)); A a = new A(); System.out.println (C.class.isInstance (a)); C c = new C(); System.out.println (C.class.isInstance (c)); } } /* Expected Output: A initialized false B initialized false true C initialized false true */