335 /* 336 * Returns the immediate caller class of the native method invoking 337 * JVM_GetCallerClass. The Method.invoke and other frames due to 338 * reflection machinery are skipped. 339 * 340 * The caller is expected to be marked with 341 * jdk.internal.reflect.CallerSensitive. The JVM will throw an 342 * error if it is not marked properly. 343 */ 344 JNIEXPORT jclass JNICALL 345 JVM_GetCallerClass(JNIEnv *env); 346 347 348 /* 349 * Find primitive classes 350 * utf: class name 351 */ 352 JNIEXPORT jclass JNICALL 353 JVM_FindPrimitiveClass(JNIEnv *env, const char *utf); 354 355 /* 356 * Link the 'arg' class 357 */ 358 JNIEXPORT void JNICALL 359 JVM_LinkClass(JNIEnv *env, jclass classClass, jclass arg); 360 361 /* 362 * Find a class from a boot class loader. Returns NULL if class not found. 363 */ 364 JNIEXPORT jclass JNICALL 365 JVM_FindClassFromBootLoader(JNIEnv *env, const char *name); 366 367 /* 368 * Find a class from a given class loader. Throws ClassNotFoundException. 369 * name: name of class 370 * init: whether initialization is done 371 * loader: class loader to look up the class. This may not be the same as the caller's 372 * class loader. 373 * caller: initiating class. The initiating class may be null when a security 374 * manager is not installed. 375 */ 376 JNIEXPORT jclass JNICALL 377 JVM_FindClassFromCaller(JNIEnv *env, const char *name, jboolean init, 378 jobject loader, jclass caller); 379 | 335 /* 336 * Returns the immediate caller class of the native method invoking 337 * JVM_GetCallerClass. The Method.invoke and other frames due to 338 * reflection machinery are skipped. 339 * 340 * The caller is expected to be marked with 341 * jdk.internal.reflect.CallerSensitive. The JVM will throw an 342 * error if it is not marked properly. 343 */ 344 JNIEXPORT jclass JNICALL 345 JVM_GetCallerClass(JNIEnv *env); 346 347 348 /* 349 * Find primitive classes 350 * utf: class name 351 */ 352 JNIEXPORT jclass JNICALL 353 JVM_FindPrimitiveClass(JNIEnv *env, const char *utf); 354 355 356 /* 357 * Find a class from a boot class loader. Returns NULL if class not found. 358 */ 359 JNIEXPORT jclass JNICALL 360 JVM_FindClassFromBootLoader(JNIEnv *env, const char *name); 361 362 /* 363 * Find a class from a given class loader. Throws ClassNotFoundException. 364 * name: name of class 365 * init: whether initialization is done 366 * loader: class loader to look up the class. This may not be the same as the caller's 367 * class loader. 368 * caller: initiating class. The initiating class may be null when a security 369 * manager is not installed. 370 */ 371 JNIEXPORT jclass JNICALL 372 JVM_FindClassFromCaller(JNIEnv *env, const char *name, jboolean init, 373 jobject loader, jclass caller); 374 |