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