source: trunk/gcc/libjava/testsuite/libjava.lang/Class_1.java

Last change on this file was 2, checked in by bird, 22 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
File size: 1.6 KB
Line 
1class C {}
2class D extends C implements I {}
3interface I {}
4interface J extends I {}
5
6public class Class_1
7{
8 static void printIsAssignableFrom(Class a, Class b, boolean c)
9 {
10 // The field 'c' can be viewed to see the expected value.
11 System.out.println(a.isAssignableFrom(b));
12 }
13
14 public static void main (String arg[])
15 {
16 System.out.println("Testing class `Class_1'...");
17 printIsAssignableFrom(C.class, Object.class, false);
18 printIsAssignableFrom(C.class, C.class, true);
19 printIsAssignableFrom(C.class, D.class, true);
20 printIsAssignableFrom(D.class, C.class, false);
21
22 printIsAssignableFrom(Object.class, int[].class, true);
23 printIsAssignableFrom(int[].class, int[].class, true);
24 printIsAssignableFrom(C[].class, D.class, false);
25 printIsAssignableFrom(C[].class, D[].class, true);
26 printIsAssignableFrom(C[].class, C[][].class, false);
27
28 printIsAssignableFrom(Object.class, I.class, true);
29 printIsAssignableFrom(I.class, I.class, true);
30 printIsAssignableFrom(D.class, I.class, false);
31 printIsAssignableFrom(I.class, D.class, true);
32
33 printIsAssignableFrom(D.class, J.class, false);
34 printIsAssignableFrom(J.class, D.class, false);
35
36 printIsAssignableFrom(I.class, J.class, true);
37 printIsAssignableFrom(J.class, J.class, true);
38 printIsAssignableFrom(J.class, I.class, false);
39
40 // Returns true iff both Class objects are equal.
41 printIsAssignableFrom(long.class, long.class, true);
42
43 // Does not work for primitive types in general.
44 printIsAssignableFrom(long.class, int.class, false);
45 }
46}
Note: See TracBrowser for help on using the repository browser.