+2000-03-21 Bryce McKinlay <bryce@albatross.co.nz>
+
+ Test case for PR libgcj/179:
+ * libjava.lang/pr179.java: New file.
+ * libjava.lang/pr179.out: New file.
+
2000-03-18 Tom Tromey <tromey@cygnus.com>
* libjava.lang/pr109.java: Added `println' at end.
--- /dev/null
+// 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 <bryce@albatross.co.nz>
+
+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
+*/