jvmti_rs/wrapper/facade/
field.rs

1use crate::{sys::*, objects::*, errors::*, JFieldName, Transform, JVMTIFacadeEnv};
2use jni::strings::JNIString;
3
4impl<'a> JVMTIFacadeEnv<'a> {
5    pub fn get_field_id<K, F, V>(&self, class: K, name: F, sig: V) -> Result<(JClass, JFieldID)>
6        where
7            K: Into<JNIString>,
8            F: Into<JNIString>,
9            V: Into<JNIString> {
10        self.jvmti_rust().get_field_id(self.jni_rust(), class, name, sig)
11    }
12
13    pub fn get_static_field_id<K, F, V>(&self, class: K, name: F, sig: V) -> Result<(JClass, JStaticFieldID)>
14        where
15            K: Into<JNIString>,
16            F: Into<JNIString>,
17            V: Into<JNIString> {
18        self.jvmti_rust().get_static_field_id(self.jni_rust(), class, name, sig)
19    }
20
21    pub fn get_field_name<K, F>(&self, class: K, field: F) -> Result<JFieldName>
22        where
23            K: Transform<'a, JClass<'a>>,
24            F: Transform<'a, jfieldID> {
25        self.jvmti_rust().get_field_name(self.jni_rust(), class, field)
26    }
27
28    pub fn get_field_declaring_class<K, F>(&self, class: K, field: F) -> Result<JObject>
29        where
30            K: Transform<'a, JClass<'a>>,
31            F: Transform<'a, jfieldID> {
32        self.jvmti_rust().get_field_declaring_class(self.jni_rust(), class, field)
33    }
34
35    pub fn get_field_modifiers<K, F>(&self, class: K, field: F) -> Result<jint>
36        where
37            K: Transform<'a, JClass<'a>>,
38            F: Transform<'a, jfieldID> {
39        self.jvmti_rust().get_field_modifiers(self.jni_rust(), class, field)
40    }
41
42    pub fn is_field_synthetic<K, F>(&self, class: K, field: F) -> Result<bool>
43        where
44            K: Transform<'a, JClass<'a>>,
45            F: Transform<'a, jfieldID> {
46        self.jvmti_rust().is_field_synthetic(self.jni_rust(), class, field)
47    }
48}