diff options
author | jfrijters <jfrijters> | 2013-02-21 13:14:32 +0400 |
---|---|---|
committer | jfrijters <jfrijters> | 2013-02-21 13:14:32 +0400 |
commit | 72a072783fe499038a87914cc2e60d576e630cc6 (patch) | |
tree | dde3be7a74c02b23973cd46da07d967b4d45d7bf | |
parent | 7b2f38c2ed0cd3933e4159bac2622a956dc8183e (diff) |
Changed resource loading order to first load bootstrap resources and then the resources from the referenced assemblies.
-rw-r--r-- | runtime/AssemblyClassLoader.cs | 17 |
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 |