ART: Add GetClassModifiers
Add support for GetClassModifiers. Add a test.
Bug: 31684578
Test: m test-art-host-run-test-912-classes
Change-Id: Ia14276d3139503ce35f7684bd846b371e9eafa25
diff --git a/test/912-classes/src/Main.java b/test/912-classes/src/Main.java
index fd9e31a..cbcfe71 100644
--- a/test/912-classes/src/Main.java
+++ b/test/912-classes/src/Main.java
@@ -82,6 +82,11 @@
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 {
@@ -107,6 +112,8 @@
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);