Fix for upsource - it uses its own class loaders which are not

IS-A PluginClassLoader
This commit is contained in:
Denis Zhdanov
2015-05-20 16:22:46 +03:00
parent 882e11a5c4
commit 5684569b0c
@@ -366,6 +366,7 @@ public class AdvancedEnhancer extends AbstractClassGenerator
protected ClassLoader getDefaultClassLoader() {
int maxIndex = -1;
ClassLoader bestLoader = null;
ClassLoader nonPluginLoader = null;
if (interfaces != null && interfaces.length > 0) {
for (final Class anInterface : interfaces) {
final ClassLoader loader = anInterface.getClassLoader();
@@ -376,6 +377,9 @@ public class AdvancedEnhancer extends AbstractClassGenerator
bestLoader = loader;
}
}
else if (nonPluginLoader == null) {
nonPluginLoader = loader;
}
}
}
ClassLoader superLoader = null;
@@ -387,7 +391,7 @@ public class AdvancedEnhancer extends AbstractClassGenerator
}
}
if (bestLoader != null) return bestLoader;
return superLoader;
return superLoader == null ? nonPluginLoader : superLoader;
}
private static Signature rename(Signature sig, int index) {