diff options
Diffstat (limited to 'plugins/devkit/src/dom/impl/ExtensionDomExtender.java')
-rw-r--r-- | plugins/devkit/src/dom/impl/ExtensionDomExtender.java | 155 |
1 files changed, 76 insertions, 79 deletions
diff --git a/plugins/devkit/src/dom/impl/ExtensionDomExtender.java b/plugins/devkit/src/dom/impl/ExtensionDomExtender.java index f5c83ccb66bc..538ee7e70243 100644 --- a/plugins/devkit/src/dom/impl/ExtensionDomExtender.java +++ b/plugins/devkit/src/dom/impl/ExtensionDomExtender.java @@ -15,7 +15,7 @@ */ package org.jetbrains.idea.devkit.dom.impl; -import com.intellij.ide.plugins.PluginManager; +import com.intellij.ide.plugins.PluginManagerCore; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; @@ -50,57 +50,6 @@ import java.util.*; public class ExtensionDomExtender extends DomExtender<Extensions> { private static final PsiClassConverter CLASS_CONVERTER = new PluginPsiClassConverter(); private static final Converter LANGUAGE_CONVERTER = new LanguageResolvingConverter(); - - private static class MyRequired implements Required { - @Override - public boolean value() { - return true; - } - - @Override - public boolean nonEmpty() { - return true; - } - - @Override - public boolean identifier() { - return false; - } - - @Override - public Class<? extends Annotation> annotationType() { - return Required.class; - } - } - - private static class MyExtendClass extends ExtendClassImpl { - private final String myInterfaceName; - - private MyExtendClass(String interfaceName) { - myInterfaceName = interfaceName; - } - - @Override - public boolean allowAbstract() { - return false; - } - - @Override - public boolean allowInterface() { - return false; - } - - @Override - public boolean allowEnum() { - return false; - } - - @Override - public String value() { - return myInterfaceName; - } - } - private static final DomExtender EXTENSION_EXTENDER = new DomExtender() { public void registerExtensions(@NotNull final DomElement domElement, @NotNull final DomExtensionsRegistrar registrar) { final ExtensionPoint extensionPoint = (ExtensionPoint)domElement.getChildDescription().getDomDeclaration(); @@ -127,31 +76,6 @@ public class ExtensionDomExtender extends DomExtender<Extensions> { } }; - - public void registerExtensions(@NotNull final Extensions extensions, @NotNull final DomExtensionsRegistrar registrar) { - final XmlElement xmlElement = extensions.getXmlElement(); - if (xmlElement == null) return; - - IdeaPlugin ideaPlugin = extensions.getParentOfType(IdeaPlugin.class, true); - - if (ideaPlugin == null) return; - - String epPrefix = extensions.getEpPrefix(); - for (IdeaPlugin plugin : getVisiblePlugins(ideaPlugin)) { - final String pluginId = StringUtil.notNullize(plugin.getPluginId(), "com.intellij"); - for (ExtensionPoints points : plugin.getExtensionPoints()) { - for (ExtensionPoint point : points.getExtensionPoints()) { - registerExtensionPoint(registrar, point, epPrefix, pluginId); - } - } - } - } - - @Override - public boolean supportsStubs() { - return false; - } - private static Set<IdeaPlugin> getVisiblePlugins(IdeaPlugin ideaPlugin) { Set<IdeaPlugin> result = ContainerUtil.newHashSet(); MultiMap<String, IdeaPlugin> byId = getPluginMap(ideaPlugin.getManager().getProject()); @@ -385,11 +309,10 @@ public class ExtensionDomExtender extends DomExtender<Extensions> { return PsiTypesUtil.getPsiClass(elementType); } - public static Collection<String> getDependencies(IdeaPlugin ideaPlugin) { Set<String> result = new HashSet<String>(); - result.add(PluginManager.CORE_PLUGIN_ID); + result.add(PluginManagerCore.CORE_PLUGIN_ID); for (Dependency dependency : ideaPlugin.getDependencies()) { ContainerUtil.addIfNotNull(dependency.getStringValue(), result); @@ -422,10 +345,84 @@ public class ExtensionDomExtender extends DomExtender<Extensions> { return result; } + public void registerExtensions(@NotNull final Extensions extensions, @NotNull final DomExtensionsRegistrar registrar) { + final XmlElement xmlElement = extensions.getXmlElement(); + if (xmlElement == null) return; + + IdeaPlugin ideaPlugin = extensions.getParentOfType(IdeaPlugin.class, true); + + if (ideaPlugin == null) return; + + String epPrefix = extensions.getEpPrefix(); + for (IdeaPlugin plugin : getVisiblePlugins(ideaPlugin)) { + final String pluginId = StringUtil.notNullize(plugin.getPluginId(), "com.intellij"); + for (ExtensionPoints points : plugin.getExtensionPoints()) { + for (ExtensionPoint point : points.getExtensionPoints()) { + registerExtensionPoint(registrar, point, epPrefix, pluginId); + } + } + } + } + + @Override + public boolean supportsStubs() { + return false; + } + interface SimpleTagValue extends DomElement { @SuppressWarnings("UnusedDeclaration") @TagValue String getTagValue(); } + private static class MyRequired implements Required { + @Override + public boolean value() { + return true; + } + + @Override + public boolean nonEmpty() { + return true; + } + + @Override + public boolean identifier() { + return false; + } + + @Override + public Class<? extends Annotation> annotationType() { + return Required.class; + } + } + + private static class MyExtendClass extends ExtendClassImpl { + private final String myInterfaceName; + + private MyExtendClass(String interfaceName) { + myInterfaceName = interfaceName; + } + + @Override + public boolean allowAbstract() { + return false; + } + + @Override + public boolean allowInterface() { + return false; + } + + @Override + public boolean allowEnum() { + return false; + } + + @Override + public String value() { + return myInterfaceName; + } + } + } |