internal IJvmProxy CopyCLRProxy(JNIEnv env, JniGlobalHandle obj) { IJvmProxy proxy = CLRConstructor.CreateProxy(env); proxy.Copy(env, obj); return(proxy); }
internal IJvmProxy CreateCLRProxyNoDelete(JNIEnv env, JniLocalHandle obj) { IJvmProxy proxy = CLRConstructor.CreateProxy(env); proxy.InitNoDelete(env, obj); return(proxy); }
private void CheckInitMethods() { if (isMethodsInit) { return; } lock (Environment) { if (isMethodsInit) { return; } methods = new Dictionary <string, FastList <CLRGeneralMethod> >(); idToMethhods = new Dictionary <int, CLRGeneralMethod>(); var clrMethods = typeForCLR.GetMethods(); foreach (var clrMethod in clrMethods) { FastList <CLRGeneralMethod> list; if (!methods.TryGetValue(clrMethod.Name, out list)) { list = new FastList <CLRGeneralMethod>(); methods.Add(clrMethod.Name, list); } var method = new CLRMethod(clrMethod, this); list.Add(method); idToMethhods.Add(method.GetHashCode(), method); } { var list = new FastList <CLRGeneralMethod>(); methods.Add(ILMethod.ConstructorName, list); foreach (var constructor in typeForCLR.GetConstructors()) { var method = new CLRConstructor(constructor, this); list.Add(method); idToMethhods.Add(method.GetHashCode(), method); } } foreach (var list in methods.Values) { list.Trim(); } isMethodsInit = true; } }