ART: Add IsInterface and IsArrayClass support
Add support for these two required calls. Add a test.
Bug: 31684578
Test: m test-art-host-run-test-912-classes
Change-Id: I2f9e5c62dd4c3d7f29aaf3dd08f1297aa3b2fd8b
diff --git a/test/912-classes/src/Main.java b/test/912-classes/src/Main.java
index 025584e..a2dc7e1 100644
--- a/test/912-classes/src/Main.java
+++ b/test/912-classes/src/Main.java
@@ -34,6 +34,15 @@
testClass(int.class);
testClass(double[].class);
+
+ testClassType(int.class);
+ testClassType(getProxyClass());
+ testClassType(Runnable.class);
+ testClassType(String.class);
+
+ testClassType(int[].class);
+ testClassType(Runnable[].class);
+ testClassType(String[].class);
}
private static Class<?> proxyClass = null;
@@ -57,5 +66,14 @@
System.out.println(Arrays.toString(result));
}
+ private static void testClassType(Class<?> c) throws Exception {
+ boolean isInterface = isInterface(c);
+ boolean isArray = isArrayClass(c);
+ System.out.println(c.getName() + " interface=" + isInterface + " array=" + isArray);
+ }
+
private static native String[] getClassSignature(Class<?> c);
+
+ private static native boolean isInterface(Class<?> c);
+ private static native boolean isArrayClass(Class<?> c);
}