summaryrefslogtreecommitdiff
path: root/test/912-classes/src/Main.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/912-classes/src/Main.java')
-rw-r--r--test/912-classes/src/Main.java16
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);