jvmti_rs/wrapper/facade/
class_jni.rs

1use crate::{errors::*, objects::*, JSignature, JvmtiClassStatus, Transform, JVMTIFacadeEnv};
2use jni::strings::JNIString;
3use crate::sys::jint;
4
5impl<'a> JVMTIFacadeEnv<'a> {
6    pub fn get_class<S>(&self, name: S) -> Result<JClass>
7        where
8            S: Into<JNIString> {
9        self.jvmti_rust().get_class(self.jni_rust(), name)
10    }
11
12    pub fn get_class_signature<K>(&self, class: K) -> Result<JSignature>
13        where
14            K: Transform<'a, JClass<'a>> {
15        self.jvmti_rust().get_class_signature(self.jni_rust(), class)
16    }
17
18    pub fn get_class_status<K>(&self, class: K) -> Result<JvmtiClassStatus>
19        where
20            K: Transform<'a, JClass<'a>> {
21        self.jvmti_rust().get_class_status(self.jni_rust(), class)
22    }
23
24    pub fn get_source_file_name<K>(&self, class: K) -> Result<String>
25        where
26            K: Transform<'a, JClass<'a>> {
27        self.jvmti_rust().get_source_file_name(self.jni_rust(), class)
28    }
29
30    pub fn get_class_modifiers<K>(&self, class: K) -> Result<jint>
31        where
32            K: Transform<'a, JClass<'a>> {
33        self.jvmti_rust().get_class_modifiers(self.jni_rust(), class)
34    }
35
36    pub fn get_class_methods<K>(&self, class: K) -> Result<Vec<JMethodID>>
37        where
38            K: Transform<'a, JClass<'a>> {
39        self.jvmti_rust().get_class_methods(self.jni_rust(), class)
40    }
41
42    pub fn get_class_fields<K>(&self, class: K) -> Result<Vec<JFieldID>>
43        where
44            K: Transform<'a, JClass<'a>> {
45        self.jvmti_rust().get_class_fields(self.jni_rust(), class)
46    }
47
48    pub fn get_implemented_interfaces<K>(&self, class: K) -> Result<Vec<JClass>>
49        where
50            K: Transform<'a, JClass<'a>> {
51        self.jvmti_rust().get_implemented_interfaces(self.jni_rust(), class)
52    }
53
54    pub fn is_interface<K>(&self, class: K) -> Result<bool>
55        where
56            K: Transform<'a, JClass<'a>> {
57        self.jvmti_rust().is_interface(self.jni_rust(), class)
58    }
59
60    pub fn is_array_class<K>(&self, class: K) -> Result<bool>
61        where
62            K: Transform<'a, JClass<'a>> {
63        self.jvmti_rust().is_array_class(self.jni_rust(), class)
64    }
65
66    pub fn is_modifiable_class<K>(&self, class: K) -> Result<bool>
67        where
68            K: Transform<'a, JClass<'a>> {
69        self.jvmti_rust().is_modifiable_class(self.jni_rust(), class)
70    }
71
72    pub fn get_source_debug_extension<K>(&self, class: K) -> Result<String>
73        where
74            K: Transform<'a, JClass<'a>> {
75        self.jvmti_rust().get_source_debug_extension(self.jni_rust(), class)
76    }
77
78    pub fn get_class_loader<K>(&self, class: K) -> Result<JClassLoader>
79        where
80            K: Transform<'a, JClass<'a>> {
81        self.jvmti_rust().get_class_loader(self.jni_rust(), class)
82    }
83
84    pub fn get_constant_pool<K>(&self, class: K) -> Result<JConstantPool>
85        where
86            K: Transform<'a, JClass<'a>> {
87        self.jvmti_rust().get_constant_pool(self.jni_rust(), class)
88    }
89
90    pub fn get_class_version_numbers<K>(&self, class: K) -> Result<JClassVersionNumber>
91        where
92            K: Transform<'a, JClass<'a>> {
93        self.jvmti_rust().get_class_version_numbers(self.jni_rust(), class)
94    }
95}