summaryrefslogtreecommitdiff
path: root/libjava/testsuite/libjava.lang/pr179.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/testsuite/libjava.lang/pr179.java')
-rw-r--r--libjava/testsuite/libjava.lang/pr179.java49
1 files changed, 49 insertions, 0 deletions
diff --git a/libjava/testsuite/libjava.lang/pr179.java b/libjava/testsuite/libjava.lang/pr179.java
new file mode 100644
index 000000000..9fd4657e8
--- /dev/null
+++ b/libjava/testsuite/libjava.lang/pr179.java
@@ -0,0 +1,49 @@
+// 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.
+// Note that the desired output changed from 1.4 to 1.5.
+
+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));
+ }
+}