jvmti_rs/wrapper/facade/
method_instance.rs

1use crate::{errors::*, objects::*, Transform, JVMTIFacadeEnv};
2use jni::strings::JNIString;
3use crate::sys::jint;
4
5impl<'a> JVMTIFacadeEnv<'a> {
6    pub fn get_method_declaring_class_i<K, M, V>(&self, class: K, name: M, sig: V) -> Result<JObject>
7        where
8            K: Transform<'a, JClass<'a>>,
9            M: Into<JNIString>,
10            V: Into<JNIString> {
11        self.jvmti_rust().get_method_declaring_class_i(self.jni_rust(), class, name, sig)
12    }
13
14    pub fn get_method_modifiers_i<K, M, V>(&self, class: K, name: M, sig: V) -> Result<jint>
15        where
16            K: Transform<'a, JClass<'a>>,
17            M: Into<JNIString>,
18            V: Into<JNIString> {
19        self.jvmti_rust().get_method_modifiers_i(self.jni_rust(), class, name, sig)
20    }
21
22    pub fn get_max_locals_i<K, M, V>(&self, class: K, name: M, sig: V) -> Result<jint>
23        where
24            K: Transform<'a, JClass<'a>>,
25            M: Into<JNIString>,
26            V: Into<JNIString> {
27        self.jvmti_rust().get_max_locals_i(self.jni_rust(), class, name, sig)
28    }
29
30    pub fn get_arguments_size_i<K, M, V>(&self, class: K, name: M, sig: V) -> Result<jint>
31        where
32            K: Transform<'a, JClass<'a>>,
33            M: Into<JNIString>,
34            V: Into<JNIString> {
35        self.jvmti_rust().get_arguments_size_i(self.jni_rust(), class, name, sig)
36    }
37
38    pub fn get_line_number_table_i<K, M, V>(&self, class: K, name: M, sig: V) -> Result<Vec<JLineNumberEntry>>
39        where
40            K: Transform<'a, JClass<'a>>,
41            M: Into<JNIString>,
42            V: Into<JNIString> {
43        self.jvmti_rust().get_line_number_table_i(self.jni_rust(), class, name, sig)
44    }
45
46    pub fn get_method_location_i<K, M, V>(&self, class: K, name: M, sig: V) -> Result<JMethodLocation>
47        where
48            K: Transform<'a, JClass<'a>>,
49            M: Into<JNIString>,
50            V: Into<JNIString> {
51        self.jvmti_rust().get_method_location_i(self.jni_rust(), class, name, sig)
52    }
53
54    pub fn get_local_variable_table_i<K, M, V>(&self, class: K, name: M, sig: V) -> Result<Vec<JLocalVariableEntry>>
55        where
56            K: Transform<'a, JClass<'a>>,
57            M: Into<JNIString>,
58            V: Into<JNIString> {
59        self.jvmti_rust().get_local_variable_table_i(self.jni_rust(), class, name, sig)
60    }
61
62    pub fn get_bytecodes_i<K, M, V>(&self, class: K, name: M, sig: V) -> Result<JMemoryAllocate>
63        where
64            K: Transform<'a, JClass<'a>>,
65            M: Into<JNIString>,
66            V: Into<JNIString> {
67        self.jvmti_rust().get_bytecodes_i(self.jni_rust(), class, name, sig)
68    }
69
70    pub fn is_method_native_i<K, M, V>(&self, class: K, name: M, sig: V) -> Result<bool>
71        where
72            K: Transform<'a, JClass<'a>>,
73            M: Into<JNIString>,
74            V: Into<JNIString> {
75        self.jvmti_rust().is_method_native_i(self.jni_rust(), class, name, sig)
76    }
77
78    pub fn is_method_synthetic_i<K, M, V>(&self, class: K, name: M, sig: V) -> Result<bool>
79        where
80            K: Transform<'a, JClass<'a>>,
81            M: Into<JNIString>,
82            V: Into<JNIString> {
83        self.jvmti_rust().is_method_synthetic_i(self.jni_rust(), class, name, sig)
84    }
85
86    pub fn is_method_obsolete_i<K, M, V>(&self, class: K, name: M, sig: V) -> Result<bool>
87        where
88            K: Transform<'a, JClass<'a>>,
89            M: Into<JNIString>,
90            V: Into<JNIString> {
91        self.jvmti_rust().is_method_obsolete_i(self.jni_rust(), class, name, sig)
92    }
93}