From 0416a66b2eda042fb9727e416925bf236834adc3 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Tue, 22 Aug 2017 12:13:15 +0300 Subject: [PATCH] optimisation: do not call getInstance() continuously --- .../openapi/roots/JavadocOrderRootType.java | 21 ++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) diff --git a/platform/projectModel-impl/src/com/intellij/openapi/roots/JavadocOrderRootType.java b/platform/projectModel-impl/src/com/intellij/openapi/roots/JavadocOrderRootType.java index fa411da96c1c..5961e2374ad4 100644 --- a/platform/projectModel-impl/src/com/intellij/openapi/roots/JavadocOrderRootType.java +++ b/platform/projectModel-impl/src/com/intellij/openapi/roots/JavadocOrderRootType.java @@ -16,6 +16,7 @@ package com.intellij.openapi.roots; import com.intellij.util.ArrayUtil; +import org.jetbrains.annotations.NotNull; import java.util.ArrayList; import java.util.Collections; @@ -29,28 +30,34 @@ public class JavadocOrderRootType extends PersistentOrderRootType { super("JAVADOC", "javadocPath", "javadoc-paths", "javadocPathEntry"); } + @NotNull public static OrderRootType getInstance() { return getOrderRootType(JavadocOrderRootType.class); } - public static String[] getUrls(OrderEntry entry) { + @NotNull + public static String[] getUrls(@NotNull OrderEntry entry) { + return ((JavadocOrderRootType)getInstance()).doGetUrls(entry); + } + + @NotNull + private String[] doGetUrls(@NotNull OrderEntry entry) { List result = new ArrayList<>(); RootPolicy> policy = new RootPolicy>() { @Override - public List visitLibraryOrderEntry(final LibraryOrderEntry orderEntry, final List value) { - Collections.addAll(value, orderEntry.getRootUrls(getInstance())); + public List visitLibraryOrderEntry(@NotNull final LibraryOrderEntry orderEntry, final List value) { + Collections.addAll(value, orderEntry.getRootUrls(JavadocOrderRootType.this)); return value; } @Override - public List visitJdkOrderEntry(final JdkOrderEntry orderEntry, final List value) { - Collections.addAll(value, orderEntry.getRootUrls(getInstance())); + public List visitJdkOrderEntry(@NotNull final JdkOrderEntry orderEntry, final List value) { + Collections.addAll(value, orderEntry.getRootUrls(JavadocOrderRootType.this)); return value; } @Override - public List visitModuleSourceOrderEntry(final ModuleSourceOrderEntry orderEntry, - final List value) { + public List visitModuleSourceOrderEntry(@NotNull final ModuleSourceOrderEntry orderEntry, final List value) { Collections.addAll(value, orderEntry.getRootModel().getModuleExtension(JavaModuleExternalPaths.class).getJavadocUrls()); return value; }