diff options
Diffstat (limited to 'test/912-classes/src/Main.java')
| -rw-r--r-- | test/912-classes/src/Main.java | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/912-classes/src/Main.java b/test/912-classes/src/Main.java index 0b41113410..cbcfe71aa6 100644 --- a/test/912-classes/src/Main.java +++ b/test/912-classes/src/Main.java @@ -48,6 +48,10 @@ public class Main { testClassFields(int.class); testClassFields(String[].class); + testClassMethods(Integer.class); + testClassMethods(int.class); + testClassMethods(String[].class); + testClassStatus(int.class); testClassStatus(String[].class); testClassStatus(Object.class); @@ -78,6 +82,11 @@ public class Main { private static void testClass(Class<?> base) throws Exception { String[] result = getClassSignature(base); System.out.println(Arrays.toString(result)); + int mod = getClassModifiers(base); + if (mod != base.getModifiers()) { + throw new RuntimeException("Unexpected modifiers: " + base.getModifiers() + " vs " + mod); + } + System.out.println(Integer.toHexString(mod)); } private static void testClassType(Class<?> c) throws Exception { @@ -90,6 +99,10 @@ public class Main { System.out.println(Arrays.toString(getClassFields(c))); } + private static void testClassMethods(Class<?> c) throws Exception { + System.out.println(Arrays.toString(getClassMethods(c))); + } + private static void testClassStatus(Class<?> c) { System.out.println(c + " " + Integer.toBinaryString(getClassStatus(c))); } @@ -99,7 +112,10 @@ public class Main { private static native boolean isInterface(Class<?> c); private static native boolean isArrayClass(Class<?> c); + private static native int getClassModifiers(Class<?> c); + private static native Object[] getClassFields(Class<?> c); + private static native Object[] getClassMethods(Class<?> c); private static native int getClassStatus(Class<?> c); |