505 */ 506 507 JNIEXPORT jobjectArray JNICALL 508 JVM_GetClassDeclaredMethods(JNIEnv *env, jclass ofClass, jboolean publicOnly); 509 510 JNIEXPORT jobjectArray JNICALL 511 JVM_GetClassDeclaredFields(JNIEnv *env, jclass ofClass, jboolean publicOnly); 512 513 JNIEXPORT jobjectArray JNICALL 514 JVM_GetClassDeclaredConstructors(JNIEnv *env, jclass ofClass, jboolean publicOnly); 515 516 /* Differs from JVM_GetClassModifiers in treatment of inner classes. 517 This returns the access flags for the class as specified in the 518 class file rather than searching the InnerClasses attribute (if 519 present) to find the source-level access flags. Only the values of 520 the low 13 bits (i.e., a mask of 0x1FFF) are guaranteed to be 521 valid. */ 522 JNIEXPORT jint JNICALL 523 JVM_GetClassAccessFlags(JNIEnv *env, jclass cls); 524 525 /* The following two reflection routines are still needed due to startup time issues */ 526 /* 527 * java.lang.reflect.Method 528 */ 529 JNIEXPORT jobject JNICALL 530 JVM_InvokeMethod(JNIEnv *env, jobject method, jobject obj, jobjectArray args0); 531 532 /* 533 * java.lang.reflect.Constructor 534 */ 535 JNIEXPORT jobject JNICALL 536 JVM_NewInstanceFromConstructor(JNIEnv *env, jobject c, jobjectArray args0); 537 538 /* 539 * Constant pool access; currently used to implement reflective access to annotations (JDK 1.5) 540 */ 541 542 JNIEXPORT jobject JNICALL 543 JVM_GetClassConstantPool(JNIEnv *env, jclass cls); 544 | 505 */ 506 507 JNIEXPORT jobjectArray JNICALL 508 JVM_GetClassDeclaredMethods(JNIEnv *env, jclass ofClass, jboolean publicOnly); 509 510 JNIEXPORT jobjectArray JNICALL 511 JVM_GetClassDeclaredFields(JNIEnv *env, jclass ofClass, jboolean publicOnly); 512 513 JNIEXPORT jobjectArray JNICALL 514 JVM_GetClassDeclaredConstructors(JNIEnv *env, jclass ofClass, jboolean publicOnly); 515 516 /* Differs from JVM_GetClassModifiers in treatment of inner classes. 517 This returns the access flags for the class as specified in the 518 class file rather than searching the InnerClasses attribute (if 519 present) to find the source-level access flags. Only the values of 520 the low 13 bits (i.e., a mask of 0x1FFF) are guaranteed to be 521 valid. */ 522 JNIEXPORT jint JNICALL 523 JVM_GetClassAccessFlags(JNIEnv *env, jclass cls); 524 525 /* Nestmates - since JDK 11 */ 526 527 JNIEXPORT jboolean JNICALL 528 JVM_AreNestMates(JNIEnv *env, jclass current, jclass member); 529 530 JNIEXPORT jclass JNICALL 531 JVM_GetNestHost(JNIEnv *env, jclass current); 532 533 JNIEXPORT jobjectArray JNICALL 534 JVM_GetNestMembers(JNIEnv *env, jclass current); 535 536 /* The following two reflection routines are still needed due to startup time issues */ 537 /* 538 * java.lang.reflect.Method 539 */ 540 JNIEXPORT jobject JNICALL 541 JVM_InvokeMethod(JNIEnv *env, jobject method, jobject obj, jobjectArray args0); 542 543 /* 544 * java.lang.reflect.Constructor 545 */ 546 JNIEXPORT jobject JNICALL 547 JVM_NewInstanceFromConstructor(JNIEnv *env, jobject c, jobjectArray args0); 548 549 /* 550 * Constant pool access; currently used to implement reflective access to annotations (JDK 1.5) 551 */ 552 553 JNIEXPORT jobject JNICALL 554 JVM_GetClassConstantPool(JNIEnv *env, jclass cls); 555 |