384 385 /* Find a loaded class cached by the VM */ 386 JNIEXPORT jclass JNICALL 387 JVM_FindLoadedClass(JNIEnv *env, jobject loader, jstring name); 388 389 /* Define a class */ 390 JNIEXPORT jclass JNICALL 391 JVM_DefineClass(JNIEnv *env, const char *name, jobject loader, const jbyte *buf, 392 jsize len, jobject pd); 393 394 /* Define a class with a source (added in JDK1.5) */ 395 JNIEXPORT jclass JNICALL 396 JVM_DefineClassWithSource(JNIEnv *env, const char *name, jobject loader, 397 const jbyte *buf, jsize len, jobject pd, 398 const char *source); 399 400 /* 401 * Module support funcions 402 */ 403 404 JNIEXPORT void JNICALL 405 JVM_DefineModule(JNIEnv *env, jobject module, jboolean is_open, jstring version, 406 jstring location, jobjectArray packages); 407 408 JNIEXPORT void JNICALL 409 JVM_SetBootLoaderUnnamedModule(JNIEnv *env, jobject module); 410 411 JNIEXPORT void JNICALL 412 JVM_AddReadsModule(JNIEnv *env, jobject from_module, jobject to_module); 413 414 JNIEXPORT void JNICALL 415 JVM_AddModuleExports(JNIEnv *env, jobject from_module, jstring package, jobject to_module); 416 417 JNIEXPORT void JNICALL 418 JVM_AddModuleExportsToAll(JNIEnv *env, jobject from_module, jstring package); 419 420 JNIEXPORT void JNICALL 421 JVM_AddModuleExportsToAllUnnamed(JNIEnv *env, jobject from_module, jstring package); 422 423 JNIEXPORT void JNICALL 424 JVM_AddModulePackage(JNIEnv* env, jobject module, jstring package); 425 426 JNIEXPORT jobject JNICALL 427 JVM_GetModuleByPackageName(JNIEnv *env, jobject cl, jstring pkg); 428 429 /* 430 * Reflection support functions 431 */ 432 433 JNIEXPORT jstring JNICALL 434 JVM_GetClassName(JNIEnv *env, jclass cls); 435 436 JNIEXPORT jobjectArray JNICALL 437 JVM_GetClassInterfaces(JNIEnv *env, jclass cls); 438 439 JNIEXPORT jboolean JNICALL 440 JVM_IsInterface(JNIEnv *env, jclass cls); 441 442 JNIEXPORT jobjectArray JNICALL 443 JVM_GetClassSigners(JNIEnv *env, jclass cls); 444 445 JNIEXPORT void JNICALL 446 JVM_SetClassSigners(JNIEnv *env, jclass cls, jobjectArray signers); 447 | 384 385 /* Find a loaded class cached by the VM */ 386 JNIEXPORT jclass JNICALL 387 JVM_FindLoadedClass(JNIEnv *env, jobject loader, jstring name); 388 389 /* Define a class */ 390 JNIEXPORT jclass JNICALL 391 JVM_DefineClass(JNIEnv *env, const char *name, jobject loader, const jbyte *buf, 392 jsize len, jobject pd); 393 394 /* Define a class with a source (added in JDK1.5) */ 395 JNIEXPORT jclass JNICALL 396 JVM_DefineClassWithSource(JNIEnv *env, const char *name, jobject loader, 397 const jbyte *buf, jsize len, jobject pd, 398 const char *source); 399 400 /* 401 * Module support funcions 402 */ 403 404 /* 405 * Define a module with the specified packages and bind the module to the 406 * given class loader. 407 * module: module to define 408 * is_open: specifies if module is open (currently ignored) 409 * version: the module version 410 * location: the module location 411 * packages: list of packages in the module 412 * num_packages: number of packages in the module 413 */ 414 JNIEXPORT void JNICALL 415 JVM_DefineModule(JNIEnv *env, jobject module, jboolean is_open, jstring version, 416 jstring location, const char* const* packages, jsize num_packages); 417 418 /* 419 * Set the boot loader's unnamed module. 420 * module: boot loader's unnamed module 421 */ 422 JNIEXPORT void JNICALL 423 JVM_SetBootLoaderUnnamedModule(JNIEnv *env, jobject module); 424 425 /* 426 * Do a qualified export of a package. 427 * from_module: module containing the package to export 428 * package: name of the package to export 429 * to_module: module to export the package to 430 */ 431 JNIEXPORT void JNICALL 432 JVM_AddModuleExports(JNIEnv *env, jobject from_module, const char* package, jobject to_module); 433 434 /* 435 * Do an export of a package to all unnamed modules. 436 * from_module: module containing the package to export 437 * package: name of the package to export to all unnamed modules 438 */ 439 JNIEXPORT void JNICALL 440 JVM_AddModuleExportsToAllUnnamed(JNIEnv *env, jobject from_module, const char* package); 441 442 /* 443 * Do an unqualified export of a package. 444 * from_module: module containing the package to export 445 * package: name of the package to export 446 */ 447 JNIEXPORT void JNICALL 448 JVM_AddModuleExportsToAll(JNIEnv *env, jobject from_module, const char* package); 449 450 /* 451 * Add a module to the list of modules that a given module can read. 452 * from_module: module requesting read access 453 * source_module: module that from_module wants to read 454 */ 455 JNIEXPORT void JNICALL 456 JVM_AddReadsModule(JNIEnv *env, jobject from_module, jobject source_module); 457 458 /* 459 * Add a package to a module. 460 * module: module that will contain the package 461 * package: package to add to the module 462 */ 463 JNIEXPORT void JNICALL 464 JVM_AddModulePackage(JNIEnv* env, jobject module, const char* package); 465 466 /* 467 * Reflection support functions 468 */ 469 470 JNIEXPORT jstring JNICALL 471 JVM_GetClassName(JNIEnv *env, jclass cls); 472 473 JNIEXPORT jobjectArray JNICALL 474 JVM_GetClassInterfaces(JNIEnv *env, jclass cls); 475 476 JNIEXPORT jboolean JNICALL 477 JVM_IsInterface(JNIEnv *env, jclass cls); 478 479 JNIEXPORT jobjectArray JNICALL 480 JVM_GetClassSigners(JNIEnv *env, jclass cls); 481 482 JNIEXPORT void JNICALL 483 JVM_SetClassSigners(JNIEnv *env, jclass cls, jobjectArray signers); 484 |