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