IDEA-260215 - removed copying extensions for each method call as the original object is not touched

GitOrigin-RevId: dc94311e9f8f805391b23fce6bc17426e312ba24
This commit is contained in:
Ilyas Selimov
2021-02-17 19:39:02 +00:00
committed by intellij-monorepo-bot
parent 0876dda522
commit cb59d43a45
2 changed files with 10 additions and 16 deletions
@@ -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<EntryPoint> getExtensions() {
List<EntryPoint> extensions = EntryPointsManagerBase.DEAD_CODE_EP_NAME.getExtensionList();
List<EntryPoint> 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() {
@@ -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);
}
}
}