Search in sources :

Example 6 with PluginClassLoader

use of com.intellij.ide.plugins.cl.PluginClassLoader in project intellij-community by JetBrains.

the class IdeErrorsDialog method diagnosePluginDetection.

@NotNull
private static String diagnosePluginDetection(String className, PluginId id) {
    String msg = "Detected plugin " + id + " by class " + className;
    IdeaPluginDescriptor descriptor = PluginManager.getPlugin(id);
    if (descriptor != null) {
        msg += "; ideaLoader=" + descriptor.getUseIdeaClassLoader();
        ClassLoader loader = descriptor.getPluginClassLoader();
        msg += "; loader=" + loader;
        if (loader instanceof PluginClassLoader) {
            msg += "; loaded class: " + ((PluginClassLoader) loader).hasLoadedClass(className);
        }
    }
    return msg;
}
Also used : PluginClassLoader(com.intellij.ide.plugins.cl.PluginClassLoader) IdeaPluginDescriptor(com.intellij.ide.plugins.IdeaPluginDescriptor) PluginClassLoader(com.intellij.ide.plugins.cl.PluginClassLoader) NotNull(org.jetbrains.annotations.NotNull)

Aggregations

PluginClassLoader (com.intellij.ide.plugins.cl.PluginClassLoader)6 UrlClassLoader (com.intellij.util.lang.UrlClassLoader)3 URL (java.net.URL)3 IdeaPluginDescriptor (com.intellij.ide.plugins.IdeaPluginDescriptor)2 URLClassLoader (java.net.URLClassLoader)2 ZipFile (java.util.zip.ZipFile)2 IdeaPluginDescriptorImpl (com.intellij.ide.plugins.IdeaPluginDescriptorImpl)1 PluginDescriptor (com.intellij.openapi.extensions.PluginDescriptor)1 THashMap (gnu.trove.THashMap)1 File (java.io.File)1 IOException (java.io.IOException)1 InvocationTargetException (java.lang.reflect.InvocationTargetException)1 Method (java.lang.reflect.Method)1 MalformedURLException (java.net.MalformedURLException)1 NotNull (org.jetbrains.annotations.NotNull)1 Nullable (org.jetbrains.annotations.Nullable)1 TestClass (org.junit.runners.model.TestClass)1