From b044a6eb2b0c5bc5628a98a8ccbb17501660475b Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Sun, 18 Apr 2021 08:35:23 +0700 Subject: [PATCH] Use StreamEx.ofReversed; avoid LinkedList GitOrigin-RevId: 240c9d3eac1f729a1572a869cad7e3737d82e9b9 --- .../intellij/codeInspection/ConvertRecordToClassFix.java | 9 ++++----- .../reflect/PsiReflectionAccessUtil.java | 4 ++-- .../yaml/resolve/YAMLRenamePsiElementProcessor.java | 3 ++- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInspection/ConvertRecordToClassFix.java b/java/java-impl/src/com/intellij/codeInspection/ConvertRecordToClassFix.java index a6554de08c99..0de0279f4a3a 100644 --- a/java/java-impl/src/com/intellij/codeInspection/ConvertRecordToClassFix.java +++ b/java/java-impl/src/com/intellij/codeInspection/ConvertRecordToClassFix.java @@ -39,7 +39,7 @@ import static com.intellij.psi.CommonClassNames.SERIAL_VERSION_UID_FIELD_NAME; public class ConvertRecordToClassFix extends LocalQuickFixAndIntentionActionOnPsiElement { private final LanguageLevel myLanguageLevel; - + public ConvertRecordToClassFix(@NotNull PsiElement candidate) { super(candidate); myLanguageLevel = PsiUtil.getLanguageLevel(candidate); @@ -107,10 +107,9 @@ public class ConvertRecordToClassFix extends LocalQuickFixAndIntentionActionOnPs @NotNull private String generateText(@NotNull PsiClass recordClass) { PsiField lastField = - StreamEx.of(recordClass.getFields()).filter(field -> field.hasModifierProperty(PsiModifier.STATIC)).reduce((a, b) -> b) - .orElse(null); + StreamEx.ofReversed(recordClass.getFields()).findFirst(field -> field.hasModifierProperty(PsiModifier.STATIC)).orElse(null); PsiMethod lastMethod = - StreamEx.of(recordClass.getMethods()).filter(method -> !(method instanceof SyntheticElement)).reduce((a, b) -> b).orElse(null); + StreamEx.ofReversed(recordClass.getMethods()).findFirst(method -> !(method instanceof SyntheticElement)).orElse(null); PsiElement lBrace = recordClass.getLBrace(); PsiElement insertFieldsAfter = lastField == null ? lBrace : lastField; PsiElement insertMethodsAfter = lastMethod == null ? insertFieldsAfter : lastMethod; @@ -328,7 +327,7 @@ public class ConvertRecordToClassFix extends LocalQuickFixAndIntentionActionOnPs : "if(obj == this) return true;\n" + "if(obj == null || obj.getClass() != this.getClass()) return false;\n" + - (myLanguageLevel.isAtLeast(HighlightingFeature.LVTI.getLevel()) ? PsiKeyword.VAR : psiClass.getName()) + + (myLanguageLevel.isAtLeast(HighlightingFeature.LVTI.getLevel()) ? PsiKeyword.VAR : psiClass.getName()) + " that = (" + psiClass.getName() + ")obj;\n" + "return " + equalsExpression + ";\n"; return "@" + CommonClassNames.JAVA_LANG_OVERRIDE + "\n" + diff --git a/java/java-impl/src/com/intellij/refactoring/extractMethodObject/reflect/PsiReflectionAccessUtil.java b/java/java-impl/src/com/intellij/refactoring/extractMethodObject/reflect/PsiReflectionAccessUtil.java index 29039ce672bf..31807fd58042 100644 --- a/java/java-impl/src/com/intellij/refactoring/extractMethodObject/reflect/PsiReflectionAccessUtil.java +++ b/java/java-impl/src/com/intellij/refactoring/extractMethodObject/reflect/PsiReflectionAccessUtil.java @@ -77,7 +77,7 @@ final class PsiReflectionAccessUtil { } } - @Contract(value = "null -> true") + @Contract("null -> true") public static boolean isQualifierAccessible(@Nullable PsiExpression qualifierExpression) { if (qualifierExpression == null) return true; PsiType type = qualifierExpression.getType(); @@ -118,7 +118,7 @@ final class PsiReflectionAccessUtil { @NotNull private static List getAllAssignableSupertypes(@NotNull PsiType from, @NotNull PsiType to) { Set types = new LinkedHashSet<>(); - Queue queue = new LinkedList<>(); + Queue queue = new ArrayDeque<>(); queue.offer(from); while (!queue.isEmpty()) { PsiType type = queue.poll(); diff --git a/plugins/yaml/src/org/jetbrains/yaml/resolve/YAMLRenamePsiElementProcessor.java b/plugins/yaml/src/org/jetbrains/yaml/resolve/YAMLRenamePsiElementProcessor.java index 090f4055e58d..97bc4a224d97 100644 --- a/plugins/yaml/src/org/jetbrains/yaml/resolve/YAMLRenamePsiElementProcessor.java +++ b/plugins/yaml/src/org/jetbrains/yaml/resolve/YAMLRenamePsiElementProcessor.java @@ -7,6 +7,7 @@ import com.intellij.psi.PsiReference; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.refactoring.rename.RenamePsiElementProcessor; import com.intellij.util.containers.MultiMap; +import one.util.streamex.StreamEx; import org.jetbrains.annotations.NotNull; import org.jetbrains.yaml.YAMLBundle; import org.jetbrains.yaml.psi.YAMLAnchor; @@ -40,7 +41,7 @@ public class YAMLRenamePsiElementProcessor extends RenamePsiElementProcessor { // use2: *cur Predicate hasNewName = a -> a.getName().equals(newName); - Optional prevOpt = allAnchors.subList(0, idx).stream().filter(hasNewName).reduce((x1, x2) -> x2); + Optional prevOpt = StreamEx.ofReversed(allAnchors.subList(0, idx)).filter(hasNewName).findFirst(); if (prevOpt.isPresent()) { YAMLAnchor prev = prevOpt.get(); findReferences(prev, prev.getUseScope(), false).stream()