From cb59d43a45e3d3e48e43028483e00d0df7cb11cb Mon Sep 17 00:00:00 2001 From: Ilyas Selimov Date: Thu, 18 Feb 2021 01:58:37 +0700 Subject: [PATCH] IDEA-260215 - removed copying extensions for each method call as the original object is not touched GitOrigin-RevId: dc94311e9f8f805391b23fce6bc17426e312ba24 --- .../UnusedDeclarationInspectionBase.java | 17 +++++------------ .../java19modules/Java9ModuleEntryPoint.java | 9 +++++---- 2 files changed, 10 insertions(+), 16 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspectionBase.java b/java/java-analysis-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspectionBase.java index 33f4e460febe..2c7a15278270 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspectionBase.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/deadCode/UnusedDeclarationInspectionBase.java @@ -32,6 +32,7 @@ import org.jetbrains.annotations.TestOnly; import org.jetbrains.uast.*; import java.util.*; +import java.util.stream.Collectors; public class UnusedDeclarationInspectionBase extends GlobalInspectionTool { private static final Logger LOG = Logger.getInstance(UnusedDeclarationInspectionBase.class); @@ -699,18 +700,10 @@ public class UnusedDeclarationInspectionBase extends GlobalInspectionTool { } public List getExtensions() { - List extensions = EntryPointsManagerBase.DEAD_CODE_EP_NAME.getExtensionList(); - List deadCodeAddIns = new ArrayList<>(extensions.size()); - for (EntryPoint entryPoint : extensions) { - try { - deadCodeAddIns.add(entryPoint.clone()); - } - catch (Exception e) { - LOG.error(e); - } - } - deadCodeAddIns.sort((o1, o2) -> o1.getDisplayName().compareToIgnoreCase(o2.getDisplayName())); - return deadCodeAddIns; + return EntryPointsManagerBase.DEAD_CODE_EP_NAME.getExtensionList() + .stream() + .sorted((o1, o2) -> o1.getDisplayName().compareToIgnoreCase(o2.getDisplayName())) + .collect(Collectors.toList()); } public static String getDisplayNameText() { diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/java19modules/Java9ModuleEntryPoint.java b/java/java-analysis-impl/src/com/intellij/codeInspection/java19modules/Java9ModuleEntryPoint.java index 8fe96e4c690b..74501fbc3870 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/java19modules/Java9ModuleEntryPoint.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/java19modules/Java9ModuleEntryPoint.java @@ -5,14 +5,13 @@ import com.intellij.codeInsight.daemon.impl.analysis.JavaModuleGraphUtil; import com.intellij.codeInspection.reference.*; import com.intellij.codeInspection.visibility.EntryPointWithVisibilityLevel; import com.intellij.java.analysis.JavaAnalysisBundle; +import com.intellij.openapi.util.DefaultJDOMExternalizer; import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.WriteExternalException; import com.intellij.psi.*; import com.intellij.psi.util.CachedValueProvider; import com.intellij.psi.util.CachedValuesManager; import com.intellij.psi.util.PsiUtil; -import com.intellij.util.xmlb.SkipDefaultValuesSerializationFilters; -import com.intellij.util.xmlb.XmlSerializer; import gnu.trove.THashSet; import one.util.streamex.StreamEx; import org.jdom.Element; @@ -196,12 +195,14 @@ public class Java9ModuleEntryPoint extends EntryPointWithVisibilityLevel { @Override public void readExternal(Element element) throws InvalidDataException { - XmlSerializer.deserializeInto(this, element); + DefaultJDOMExternalizer.readExternal(this, element); } @Override @SuppressWarnings("deprecation") public void writeExternal(Element element) throws WriteExternalException { - XmlSerializer.serializeInto(this, element, new SkipDefaultValuesSerializationFilters()); + if (!ADD_EXPORTED_PACKAGES_AND_SERVICES_TO_ENTRIES) { + DefaultJDOMExternalizer.writeExternal(this, element); + } } } \ No newline at end of file