mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Fix for upsource - it uses its own class loaders which are not
IS-A PluginClassLoader
This commit is contained in:
@@ -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) {
|
||||
|
||||
Reference in New Issue
Block a user