diff --git a/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionPointImpl.java b/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionPointImpl.java index 2715d9597c9b..64d13c879675 100644 --- a/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionPointImpl.java +++ b/platform/extensions/src/com/intellij/openapi/extensions/impl/ExtensionPointImpl.java @@ -117,6 +117,11 @@ public final class ExtensionPointImpl implements ExtensionPoint { break; } } + if (getExtensionIndex(extension) != -1) { + LOG.error("Extension was already added: " + extension); + return; + } + registerExtension(extension, adapter, index, true); } else { @@ -126,11 +131,6 @@ public final class ExtensionPointImpl implements ExtensionPoint { } private void registerExtension(@NotNull T extension, @NotNull ExtensionComponentAdapter adapter, int index, boolean runNotifications) { - if (getExtensionIndex(extension) != -1) { - LOG.error("Extension was already added: " + extension); - return; - } - Class extensionClass = getExtensionClass(); if (!extensionClass.isInstance(extension)) { LOG.error("Extension " + extension.getClass() + " does not implement " + extensionClass);