From d3e7348496aa5a46f325bbd09a62ac2132c2c456 Mon Sep 17 00:00:00 2001 From: nik Date: Wed, 25 Oct 2017 14:30:21 +0300 Subject: [PATCH] platform cleanup: remove duplicated code from ExtensionsAreaImpl --- .../extensions/impl/ExtensionsAreaImpl.java | 26 +++---------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java b/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java index df2c54b5bd12..2af63840201f 100644 --- a/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java +++ b/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionsAreaImpl.java @@ -131,28 +131,8 @@ public class ExtensionsAreaImpl implements ExtensionsArea { @Override public void registerExtension(@NotNull final PluginDescriptor pluginDescriptor, @NotNull final Element extensionElement, String ns) { - final PluginId pluginId = pluginDescriptor.getPluginId(); - - if (!Extensions.isComponentSuitableForOs(extensionElement.getAttributeValue("os"))) { - return; - } - String epName = extractEPName(extensionElement, ns); - - ExtensionComponentAdapter adapter; - final ExtensionPointImpl extensionPoint = getExtensionPoint(epName); - if (extensionPoint.getKind() == ExtensionPoint.Kind.INTERFACE) { - String implClass = extensionElement.getAttributeValue("implementation"); - if (implClass == null) { - throw new RuntimeException("'implementation' attribute not specified for '" + epName + "' extension in '" + pluginId.getIdString() + "' plugin"); - } - adapter = new ExtensionComponentAdapter(implClass, extensionElement, myPicoContainer, pluginDescriptor, shouldDeserializeInstance(extensionElement)); - } - else { - adapter = new ExtensionComponentAdapter(extensionPoint.getClassName(), extensionElement, myPicoContainer, pluginDescriptor, true); - } - myPicoContainer.registerComponent(adapter); - extensionPoint.registerExtensionAdapter(adapter); + registerExtension(getExtensionPoint(epName), pluginDescriptor, extensionElement); } // Used in Upsource @@ -166,8 +146,8 @@ public class ExtensionsAreaImpl implements ExtensionsArea { if (extensionPoint.getKind() == ExtensionPoint.Kind.INTERFACE) { String implClass = extensionElement.getAttributeValue("implementation"); if (implClass == null) { - throw new RuntimeException("'implementation' attribute not specified for '" + extensionPoint.getName() + "' extension in '" + pluginDescriptor.getPluginId() - .getIdString() + "' plugin"); + throw new RuntimeException("'implementation' attribute not specified for '" + extensionPoint.getName() + "' extension in '" + + pluginDescriptor.getPluginId().getIdString() + "' plugin"); } adapter = new ExtensionComponentAdapter(implClass, extensionElement, myPicoContainer, pluginDescriptor, shouldDeserializeInstance(extensionElement)); }