From 45da9555deb59017a26a17a321cf61af9c0dc6fe Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Mon, 30 Mar 2015 11:10:59 +0300 Subject: [PATCH] Fix minor bug in MemoryBasedClassLoader#getResources() Own resources and those from the parent class loader were not combined --- .../preloading/MemoryBasedClassLoader.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/compiler/preloader/src/org/jetbrains/kotlin/preloading/MemoryBasedClassLoader.java b/compiler/preloader/src/org/jetbrains/kotlin/preloading/MemoryBasedClassLoader.java index 636d1942917..3c30af56cbd 100644 --- a/compiler/preloader/src/org/jetbrains/kotlin/preloading/MemoryBasedClassLoader.java +++ b/compiler/preloader/src/org/jetbrains/kotlin/preloading/MemoryBasedClassLoader.java @@ -112,11 +112,21 @@ public class MemoryBasedClassLoader extends ClassLoader { @Override public Enumeration getResources(String name) throws IOException { - Enumeration resources = super.getResources(name); - if (!resources.hasMoreElements() && parent != null) { - return parent.getResources(name); + Enumeration own = super.getResources(name); + if (parent == null) return own; + + Enumeration fromParent = parent.getResources(name); + if (!own.hasMoreElements()) return fromParent; + + List result = new ArrayList(); + while (own.hasMoreElements()) { + result.add(own.nextElement()); } - return resources; + while (fromParent.hasMoreElements()) { + result.add(fromParent.nextElement()); + } + + return Collections.enumeration(result); } @Override