From dc79b369cc608c5b8001e76b84dd34c0eae84f10 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 11 Oct 2018 15:33:20 +0300 Subject: [PATCH] fix quadratic extension registration --- .../openapi/extensions/impl/ExtensionPointImpl.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) 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);