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