jvmti_rs/wrapper/descriptors/
class_desc.rs

1use crate::*;
2use crate::{objects::*, errors::*};
3use jni::strings::JNIString;
4use jni::JNIEnv;
5
6impl<'a> Desc<'a, JClass<'a>> for &'a str {
7    fn lookup(self, jni: &JNIEnv<'a>) -> Result<JClass<'a>> {
8        let name: JNIString = self.into();
9        name.lookup(jni)
10    }
11}
12
13impl<'a> Desc<'a, JClass<'a>> for JNIString {
14    fn lookup(self, jni: &JNIEnv<'a>) -> Result<JClass<'a>> {
15        jni.find_class(self)
16            .map_err(jni_lookup_error)
17    }
18}
19
20impl<'a> Desc<'a, JClass<'a>> for JObject<'a> {
21    fn lookup(self, jni: &JNIEnv<'a>) -> Result<JClass<'a>> {
22        jni.get_object_class(self)
23            .map_err(jni_lookup_error)
24    }
25}