Fixed AppDomainAssemblyClassLoader to ignore AssemblyBuilders.

This commit is contained in:
jfrijters 2007-11-02 05:11:47 +00:00
Родитель 42f0aba28d
Коммит d280cd460b
1 изменённых файлов: 18 добавлений и 0 удалений

Просмотреть файл

@ -535,12 +535,30 @@ namespace IKVM.NativeCode.ikvm.runtime
{
public static object loadClassFromAssembly(Assembly asm, string className)
{
if(asm is System.Reflection.Emit.AssemblyBuilder)
{
return null;
}
if(asm.Equals(DynamicClassLoader.Instance.ModuleBuilder.Assembly))
{
// this can happen on Orcas, where an AssemblyBuilder has a corresponding Assembly
return null;
}
TypeWrapper tw = ClassLoaderWrapper.GetAssemblyClassLoader(asm).DoLoad(className);
return tw != null ? tw.ClassObject : null;
}
public static bool findResourceInAssembly(Assembly asm, string resourceName)
{
if(asm is System.Reflection.Emit.AssemblyBuilder)
{
return false;
}
if(asm.Equals(DynamicClassLoader.Instance.ModuleBuilder.Assembly))
{
// this can happen on Orcas, where an AssemblyBuilder has a corresponding Assembly
return false;
}
return asm.GetManifestResourceInfo(JVM.MangleResourceName(resourceName)) != null;
}
}