summaryrefslogtreecommitdiff
path: root/test/912-classes/classes.cc
diff options
context:
space:
mode:
Diffstat (limited to 'test/912-classes/classes.cc')
-rw-r--r--test/912-classes/classes.cc18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/912-classes/classes.cc b/test/912-classes/classes.cc
index a22d1d72d8..29eeff6694 100644
--- a/test/912-classes/classes.cc
+++ b/test/912-classes/classes.cc
@@ -241,5 +241,23 @@ extern "C" JNIEXPORT jobjectArray JNICALL Java_Main_getClassLoaderClasses(
return ret;
}
+extern "C" JNIEXPORT jintArray JNICALL Java_Main_getClassVersion(
+ JNIEnv* env, jclass Main_klass ATTRIBUTE_UNUSED, jclass klass) {
+ jint major, minor;
+ jvmtiError result = jvmti_env->GetClassVersionNumbers(klass, &minor, &major);
+ if (JvmtiErrorToException(env, result)) {
+ return nullptr;
+ }
+
+ jintArray int_array = env->NewIntArray(2);
+ if (int_array == nullptr) {
+ return nullptr;
+ }
+ jint buf[2] = { major, minor };
+ env->SetIntArrayRegion(int_array, 0, 2, buf);
+
+ return int_array;
+}
+
} // namespace Test912Classes
} // namespace art