1 use crate::{ 2 descriptors::Desc, 3 errors::*, 4 objects::{JClass, JMethodID, JStaticMethodID}, 5 strings::JNIString, 6 JNIEnv, 7 }; 8 9 impl<'a, 'c, T, U, V> Desc<'a, JMethodID<'a>> for (T, U, V) 10 where 11 T: Desc<'a, JClass<'c>>, 12 U: Into<JNIString>, 13 V: Into<JNIString>, 14 { lookup(self, env: &JNIEnv<'a>) -> Result<JMethodID<'a>>15 fn lookup(self, env: &JNIEnv<'a>) -> Result<JMethodID<'a>> { 16 env.get_method_id(self.0, self.1, self.2) 17 } 18 } 19 20 impl<'a, 'c, T, Signature> Desc<'a, JMethodID<'a>> for (T, Signature) 21 where 22 T: Desc<'a, JClass<'c>>, 23 Signature: Into<JNIString>, 24 { lookup(self, env: &JNIEnv<'a>) -> Result<JMethodID<'a>>25 fn lookup(self, env: &JNIEnv<'a>) -> Result<JMethodID<'a>> { 26 (self.0, "<init>", self.1).lookup(env) 27 } 28 } 29 30 impl<'a, 'c, T, U, V> Desc<'a, JStaticMethodID<'a>> for (T, U, V) 31 where 32 T: Desc<'a, JClass<'c>>, 33 U: Into<JNIString>, 34 V: Into<JNIString>, 35 { lookup(self, env: &JNIEnv<'a>) -> Result<JStaticMethodID<'a>>36 fn lookup(self, env: &JNIEnv<'a>) -> Result<JStaticMethodID<'a>> { 37 env.get_static_method_id(self.0, self.1, self.2) 38 } 39 } 40