jvmti_rs/wrapper/facade/
class_jni.rs1use 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}