Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/ikvm-fork.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjfrijters <jfrijters>2013-02-21 13:14:32 +0400
committerjfrijters <jfrijters>2013-02-21 13:14:32 +0400
commit72a072783fe499038a87914cc2e60d576e630cc6 (patch)
treedde3be7a74c02b23973cd46da07d967b4d45d7bf
parent7b2f38c2ed0cd3933e4159bac2622a956dc8183e (diff)
Changed resource loading order to first load bootstrap resources and then the resources from the referenced assemblies.
-rw-r--r--runtime/AssemblyClassLoader.cs17
1 files changed, 7 insertions, 10 deletions
diff --git a/runtime/AssemblyClassLoader.cs b/runtime/AssemblyClassLoader.cs
index a61a6b80..49ebd8bd 100644
--- a/runtime/AssemblyClassLoader.cs
+++ b/runtime/AssemblyClassLoader.cs
@@ -776,7 +776,7 @@ namespace IKVM.Internal
internal IEnumerable<java.net.URL> FindResources(string name)
{
- return GetResourcesImpl(name, this is BootstrapClassLoader);
+ return GetResourcesImpl(name, false);
}
internal IEnumerable<java.net.URL> GetResources(string name)
@@ -852,6 +852,10 @@ namespace IKVM.Internal
{
yield break;
}
+ foreach (java.net.URL url in GetBootstrapClassLoader().GetResources(unmangledName))
+ {
+ yield return url;
+ }
for (int i = 0; i < delegates.Length; i++)
{
if (delegates[i] == null)
@@ -862,21 +866,14 @@ namespace IKVM.Internal
delegates[i] = AssemblyClassLoader.FromAssembly(asm);
}
}
- if (delegates[i] != null)
+ if (delegates[i] != null && delegates[i] != GetBootstrapClassLoader())
{
- foreach (java.net.URL url in delegates[i].FindResources(unmangledName))
+ foreach (java.net.URL url in delegates[i].GetResourcesImpl(unmangledName, false))
{
yield return url;
}
}
}
- if (!assemblyLoader.HasJavaModule)
- {
- foreach (java.net.URL url in GetBootstrapClassLoader().FindResources(unmangledName))
- {
- yield return url;
- }
- }
}
#endif // !STATIC_COMPILER