From e9891bc1ae4350b4239c87ef096791d1b4ac3484 Mon Sep 17 00:00:00 2001 From: Alexey Kudravtsev Date: Thu, 31 Aug 2023 15:43:32 +0200 Subject: [PATCH] optimization: reduce garbage GitOrigin-RevId: 9e59c29645628469a14275850321903c823e376c --- platform/core-api/src/com/intellij/lang/CompositeLanguage.java | 2 +- platform/core-api/src/com/intellij/lang/Language.java | 1 + .../openapi/fileEditor/impl/text/TextEditorPsiDataProvider.java | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/platform/core-api/src/com/intellij/lang/CompositeLanguage.java b/platform/core-api/src/com/intellij/lang/CompositeLanguage.java index 77b30be2c5f6..9665eca52c7b 100644 --- a/platform/core-api/src/com/intellij/lang/CompositeLanguage.java +++ b/platform/core-api/src/com/intellij/lang/CompositeLanguage.java @@ -42,7 +42,7 @@ public class CompositeLanguage extends Language { for (LanguageFilter filter : myFilters) { if (filter.isRelevantForFile(psi)) extensions.add(filter.getLanguage()); } - return extensions.toArray(new Language[0]); + return extensions.toArray(Language.EMPTY_ARRAY); } public LanguageFilter @NotNull [] getLanguageExtensions() { diff --git a/platform/core-api/src/com/intellij/lang/Language.java b/platform/core-api/src/com/intellij/lang/Language.java index c8ba9beb5fe1..26fba456c7a3 100644 --- a/platform/core-api/src/com/intellij/lang/Language.java +++ b/platform/core-api/src/com/intellij/lang/Language.java @@ -36,6 +36,7 @@ import java.util.concurrent.ConcurrentMap; * The language coming from file type can be changed by {@link com.intellij.psi.LanguageSubstitutor}. */ public abstract class Language extends UserDataHolderBase { + public static final Language[] EMPTY_ARRAY = new Language[0]; private static final Map, Language> ourRegisteredLanguages = new ConcurrentHashMap<>(); private static final ConcurrentMap> ourRegisteredMimeTypes = new ConcurrentHashMap<>(); private static final Map ourRegisteredIDs = new ConcurrentHashMap<>(); diff --git a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorPsiDataProvider.java b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorPsiDataProvider.java index c0b764a6817b..bcf0c28adc02 100644 --- a/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorPsiDataProvider.java +++ b/platform/lang-impl/src/com/intellij/openapi/fileEditor/impl/text/TextEditorPsiDataProvider.java @@ -154,7 +154,7 @@ public class TextEditorPsiDataProvider implements EditorDataProvider { if (psiFile != null) { addIfNotNull(set, psiFile.getViewProvider().getBaseLanguage()); } - return set.toArray(new Language[0]); + return set.toArray(Language.EMPTY_ARRAY); } return null; }