538 /* The following two reflection routines are still needed due to startup time issues */
539 /*
540 * java.lang.reflect.Method
541 */
542 JNIEXPORT jobject JNICALL
543 JVM_InvokeMethod(JNIEnv *env, jobject method, jobject obj, jobjectArray args0);
544
545 /*
546 * java.lang.reflect.Constructor
547 */
548 JNIEXPORT jobject JNICALL
549 JVM_NewInstanceFromConstructor(JNIEnv *env, jobject c, jobjectArray args0);
550
551 /*
552 * Constant pool access; currently used to implement reflective access to annotations (JDK 1.5)
553 */
554
555 JNIEXPORT jobject JNICALL
556 JVM_GetClassConstantPool(JNIEnv *env, jclass cls);
557
558 JNIEXPORT jint JNICALL JVM_ConstantPoolGetSize
559 (JNIEnv *env, jobject unused, jobject jcpool);
560
561 JNIEXPORT jclass JNICALL JVM_ConstantPoolGetClassAt
562 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
563
564 JNIEXPORT jclass JNICALL JVM_ConstantPoolGetClassAtIfLoaded
565 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
566
567 JNIEXPORT jint JNICALL JVM_ConstantPoolGetClassRefIndexAt
568 (JNIEnv *env, jobject obj, jobject unused, jint index);
569
570 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetMethodAt
571 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
572
573 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetMethodAtIfLoaded
574 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
575
576 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetFieldAt
577 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
578
579 JNIEXPORT jobject JNICALL JVM_ConstantPoolGetFieldAtIfLoaded
580 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
581
582 JNIEXPORT jobjectArray JNICALL JVM_ConstantPoolGetMemberRefInfoAt
583 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
584
585 JNIEXPORT jint JNICALL JVM_ConstantPoolGetNameAndTypeRefIndexAt
586 (JNIEnv *env, jobject obj, jobject unused, jint index);
587
588 JNIEXPORT jobjectArray JNICALL JVM_ConstantPoolGetNameAndTypeRefInfoAt
589 (JNIEnv *env, jobject obj, jobject unused, jint index);
590
591 JNIEXPORT jint JNICALL JVM_ConstantPoolGetIntAt
592 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
593
594 JNIEXPORT jlong JNICALL JVM_ConstantPoolGetLongAt
595 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
596
597 JNIEXPORT jfloat JNICALL JVM_ConstantPoolGetFloatAt
598 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
599
600 JNIEXPORT jdouble JNICALL JVM_ConstantPoolGetDoubleAt
601 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
602
603 JNIEXPORT jstring JNICALL JVM_ConstantPoolGetStringAt
604 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
605
606 JNIEXPORT jstring JNICALL JVM_ConstantPoolGetUTF8At
607 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
608
609 JNIEXPORT jbyte JNICALL JVM_ConstantPoolGetTagAt
610 (JNIEnv *env, jobject unused, jobject jcpool, jint index);
611
612 /*
613 * Parameter reflection
614 */
615
616 JNIEXPORT jobjectArray JNICALL
617 JVM_GetMethodParameters(JNIEnv *env, jobject method);
618
619 /*
620 * java.security.*
621 */
622
623 JNIEXPORT jobject JNICALL
624 JVM_DoPrivileged(JNIEnv *env, jclass cls,
625 jobject action, jobject context, jboolean wrapException);
626
627 JNIEXPORT jobject JNICALL
628 JVM_GetInheritedAccessControlContext(JNIEnv *env, jclass cls);
629
630 JNIEXPORT jobject JNICALL
|
538 /* The following two reflection routines are still needed due to startup time issues */
539 /*
540 * java.lang.reflect.Method
541 */
542 JNIEXPORT jobject JNICALL
543 JVM_InvokeMethod(JNIEnv *env, jobject method, jobject obj, jobjectArray args0);
544
545 /*
546 * java.lang.reflect.Constructor
547 */
548 JNIEXPORT jobject JNICALL
549 JVM_NewInstanceFromConstructor(JNIEnv *env, jobject c, jobjectArray args0);
550
551 /*
552 * Constant pool access; currently used to implement reflective access to annotations (JDK 1.5)
553 */
554
555 JNIEXPORT jobject JNICALL
556 JVM_GetClassConstantPool(JNIEnv *env, jclass cls);
557
558 JNIEXPORT jclass JNICALL JVM_ConstantPool1GetHolder
559 (JNIEnv *env, jobject jcpool);
560
561 JNIEXPORT jint JNICALL JVM_ConstantPool1GetSize
562 (JNIEnv *env, jobject jcpool);
563
564 JNIEXPORT jint JNICALL JVM_ConstantPool1GetWordCountAt
565 (JNIEnv *env, jobject jcpool, jint index);
566
567 JNIEXPORT jobject JNICALL JVM_ConstantPool1GetRefAt
568 (JNIEnv *env, jobject jcpool, jint index, jint word, jbyte resolving, jobject if_not_present);
569
570 JNIEXPORT void JNICALL JVM_ConstantPool1CopyOutRefsAt
571 (JNIEnv *env, jobject jcpool, jint index, jint start_word, jint end_word,
572 jobject buf, jint buf_pos, jbyte resolving,
573 jobject if_not_present, jobject if_null_constant, jboolean skip_non_null);
574
575 JNIEXPORT jint JNICALL JVM_ConstantPool1GetWordAt
576 (JNIEnv *env, jobject jcpool, jint index, jint word);
577
578 JNIEXPORT jint JNICALL JVM_ConstantPool1GetIntAt
579 (JNIEnv *env, jobject jcpool, jint index);
580
581 JNIEXPORT jlong JNICALL JVM_ConstantPool1GetLongAt
582 (JNIEnv *env, jobject jcpool, jint index);
583
584 JNIEXPORT jfloat JNICALL JVM_ConstantPool1GetFloatAt
585 (JNIEnv *env, jobject jcpool, jint index);
586
587 JNIEXPORT jdouble JNICALL JVM_ConstantPool1GetDoubleAt
588 (JNIEnv *env, jobject jcpool, jint index);
589
590 JNIEXPORT jbyte JNICALL JVM_ConstantPool1GetTagAt
591 (JNIEnv *env, jobject jcpool, jint index);
592
593 JNIEXPORT jbyteArray JNICALL JVM_ConstantPool1GetTags
594 (JNIEnv *env, jobject jcpool);
595
596 /*
597 * Parameter reflection
598 */
599
600 JNIEXPORT jobjectArray JNICALL
601 JVM_GetMethodParameters(JNIEnv *env, jobject method);
602
603 /*
604 * java.security.*
605 */
606
607 JNIEXPORT jobject JNICALL
608 JVM_DoPrivileged(JNIEnv *env, jclass cls,
609 jobject action, jobject context, jboolean wrapException);
610
611 JNIEXPORT jobject JNICALL
612 JVM_GetInheritedAccessControlContext(JNIEnv *env, jclass cls);
613
614 JNIEXPORT jobject JNICALL
|