GetAssembly() private method

private GetAssembly ( TypeWrapper wrapper ) : Assembly
wrapper TypeWrapper
return Assembly
        internal override bool InternalsVisibleToImpl(TypeWrapper wrapper, TypeWrapper friend)
        {
            ClassLoaderWrapper other = friend.GetClassLoader();

            if (this == other)
            {
                return(true);
            }
            AssemblyName otherName;

#if STATIC_COMPILER
            CompilerClassLoader ccl = other as CompilerClassLoader;
            if (ccl == null)
            {
                return(false);
            }
            otherName = ccl.GetAssemblyName();
#else
            AssemblyClassLoader acl = other as AssemblyClassLoader;
            if (acl == null)
            {
                return(false);
            }
            otherName = acl.GetAssembly(friend).GetName();
#endif
            return(GetLoader(GetAssembly(wrapper)).InternalsVisibleTo(otherName));
        }
Beispiel #2
0
        private static Assembly GetAssemblyFromClass(jlClass clazz)
        {
            TypeWrapper          wrapper = TypeWrapper.FromClass(clazz);
            AssemblyClassLoader_ acl     = wrapper.GetClassLoader() as AssemblyClassLoader_;

            return(acl != null?acl.GetAssembly(wrapper) : null);
        }
Beispiel #3
0
            public static string getAssemblyName(jlClass c)
            {
                TypeWrapper        wrapper = TypeWrapper.FromClass(c);
                ClassLoaderWrapper loader  = wrapper.GetClassLoader();

                IKVM.Internal.AssemblyClassLoader acl = loader as IKVM.Internal.AssemblyClassLoader;
                if (acl != null)
                {
                    return(acl.GetAssembly(wrapper).FullName);
                }
                else
                {
                    return(((GenericClassLoaderWrapper)loader).GetName());
                }
            }