From 82f2bc5da053d2fbeacb7b9f9c3db3cf31b6549c Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Thu, 27 Apr 2017 12:34:06 +0300 Subject: [PATCH] method chains search: do not create huge tree set --- .../backwardRefs/CompilerReferenceServiceImpl.java | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceImpl.java b/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceImpl.java index 7914b77cf128..45fc80983acf 100644 --- a/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceImpl.java +++ b/java/compiler/impl/src/com/intellij/compiler/backwardRefs/CompilerReferenceServiceImpl.java @@ -237,9 +237,13 @@ public class CompilerReferenceServiceImpl extends CompilerReferenceServiceEx imp LightRef.NamedLightRef[] hierarchy = myReader.getWholeHierarchy(r.getOwner(), false); return hierarchy == null ? Stream.empty() : Arrays.stream(hierarchy).map(c -> r.override(c.getName())); }) - .map(r -> new OccurrencesAware<>( - new MethodIncompleteSignature((LightRef.JavaLightMethodRef)r, sd, this), - myReader.getOccurrenceCount(r)))) + .map(r -> { + int count = myReader.getOccurrenceCount(r); + return count <= 1 ? null : new OccurrencesAware<>( + new MethodIncompleteSignature((LightRef.JavaLightMethodRef)r, sd, this), + count); + })) + .filter(Objects::nonNull) .collect(Collectors.toCollection(TreeSet::new)); } catch (Exception e) {