MCPcopy Create free account
hub / github.com/cretz/stackparam / transform_class_file

Function transform_class_file

src/lib.rs:104–125  ·  view source on GitHub ↗
(jvmti_env: *mut jvmtiEnv,
                               jni_env: *mut JNIEnv,
                               class_being_redefined: jclass,
                               name: *const c_char,
      

Source from the content-addressed store, hash-verified

102}
103
104unsafe fn transform_class_file(jvmti_env: *mut jvmtiEnv,
105 jni_env: *mut JNIEnv,
106 class_being_redefined: jclass,
107 name: *const c_char,
108 class_data_len: jint,
109 class_data: *const c_uchar,
110 new_class_data_len: *mut jint,
111 new_class_data: *mut *mut c_uchar)
112 -> Result<(), String> {
113 // Must have name and must be being first class definition
114 if name.is_null() || !class_being_redefined.is_null() {
115 return Result::Ok(());
116 }
117 return match CStr::from_ptr(name).to_str() {
118 Ok("java/lang/Throwable") =>
119 manip::manip_throwable_class(jvmti_env, jni_env, class_data_len, class_data, new_class_data_len, new_class_data),
120 Ok("java/lang/StackTraceElement") =>
121 manip::manip_element_class(jvmti_env, jni_env, class_data_len, class_data, new_class_data_len, new_class_data),
122 _ =>
123 Result::Ok(())
124 }
125}
126
127unsafe extern "C" fn class_file_load_hook(jvmti_env: *mut jvmtiEnv,
128 jni_env: *mut JNIEnv,

Callers 1

class_file_load_hookFunction · 0.85

Calls 2

manip_throwable_classFunction · 0.85
manip_element_classFunction · 0.85

Tested by

no test coverage detected