+package tests;
+
+public class InstanceOf2 {
+ public static void main(String []args) {
+ System.out.printf("x = new InstanceOf2_local;\n");
+ Instance1 x = new InstanceOf2_local();
+ checkInstance(null instanceof Instance1, "null", "Instance1");
+ checkInstance(x instanceof Instance1, "x", "Instance1");
+ checkInstance(x instanceof Instance2, "x", "Instance2");
+ checkInstance(x instanceof InstanceOf2_local, "x", "InstanceOf2_local");
+ checkInstance(x instanceof Object, "x", "Object");
+ checkInstance(x instanceof InstanceOf2_local2, "x", "InstanceOf2_local2");
+
+ System.out.printf("\n\n");
+ System.out.printf("y = new InstanceOf2_local2;\n");
+ Object y = new InstanceOf2_local2();
+ checkInstance(null instanceof Instance1, "null", "Instance1");
+ checkInstance(y instanceof Instance1, "y", "Instance1");
+ checkInstance(y instanceof Instance2, "y", "Instance2");
+ checkInstance(y instanceof InstanceOf2_local, "y", "InstanceOf2_local");
+ checkInstance(y instanceof Object, "y", "Object");
+ checkInstance(y instanceof InstanceOf2_local2, "y", "InstanceOf2_local2");
+ }
+
+ public static void checkInstance(boolean cond, String obj, String classname) {
+ System.out.printf(obj);
+ if (cond) {
+ System.out.printf(" is instance of ");
+ System.out.printf(classname);
+ System.out.printf(" :-)\n");
+ } else {
+ System.out.printf(" is *not* instance of ");
+ System.out.printf(classname);
+ System.out.printf(" :-(\n");
+ }
+ }
+}
+
+
+class InstanceOf2_local extends Instance1 {
+}
+
+class InstanceOf2_local2 extends InstanceOf2_local {
+}