From a9bdd665c0737619b1d2f610d0328a3b63276892 Mon Sep 17 00:00:00 2001 From: Yaroslav Lepenkin Date: Tue, 13 Sep 2016 12:48:56 +0300 Subject: [PATCH] [Parameter Name Hints] ditched folding implementation, hints is shown via inlays on registry flag or "inline parameter names for literals" code folding setting --- .../daemon/impl/ParameterHintsPassFactory.java | 7 ++++++- .../folding/impl/JavaFoldingBuilderBase.java | 18 ------------------ 2 files changed, 6 insertions(+), 19 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/ParameterHintsPassFactory.java b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/ParameterHintsPassFactory.java index 4a07ad4fd17c..39943c5e7240 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/ParameterHintsPassFactory.java +++ b/java/java-analysis-impl/src/com/intellij/codeInsight/daemon/impl/ParameterHintsPassFactory.java @@ -19,6 +19,7 @@ import com.intellij.codeHighlighting.EditorBoundHighlightingPass; import com.intellij.codeHighlighting.TextEditorHighlightingPass; import com.intellij.codeHighlighting.TextEditorHighlightingPassFactory; import com.intellij.codeHighlighting.TextEditorHighlightingPassRegistrar; +import com.intellij.codeInsight.folding.JavaCodeFoldingSettings; import com.intellij.codeInsight.folding.impl.ParameterNameFoldingManager; import com.intellij.lang.folding.FoldingDescriptor; import com.intellij.openapi.components.AbstractProjectComponent; @@ -61,7 +62,7 @@ public class ParameterHintsPassFactory extends AbstractProjectComponent implemen public void doCollectInformation(@NotNull ProgressIndicator progress) { assert myDocument != null; myAnnotations.clear(); - if (!Registry.is("editor.inline.parameter.hints") || !(myFile instanceof PsiJavaFile)) return; + if (!isEnabled() || !(myFile instanceof PsiJavaFile)) return; PsiJavaFile file = (PsiJavaFile) myFile; PsiClass[] classes = file.getClasses(); @@ -71,6 +72,10 @@ public class ParameterHintsPassFactory extends AbstractProjectComponent implemen } } + private static boolean isEnabled() { + return Registry.is("editor.inline.parameter.hints") || JavaCodeFoldingSettings.getInstance().isInlineParameterNamesForLiteralCallArguments(); + } + private void addElementsToFold(PsiClass aClass) { PsiElement[] children = aClass.getChildren(); for (PsiElement child : children) { diff --git a/java/java-psi-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilderBase.java b/java/java-psi-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilderBase.java index fc0431551602..72d0a1535639 100644 --- a/java/java-psi-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilderBase.java +++ b/java/java-psi-impl/src/com/intellij/codeInsight/folding/impl/JavaFoldingBuilderBase.java @@ -750,12 +750,6 @@ public abstract class JavaFoldingBuilderBase extends CustomFoldingBuilder implem else if (element instanceof PsiComment) { return settings.isCollapseEndOfLineComments(); } - else if (ParameterNameFoldingManager.isLiteralExpression(element) - && element.getParent() instanceof PsiExpressionList - && (element.getParent().getParent() instanceof PsiCallExpression - || element.getParent().getParent() instanceof PsiAnonymousClass)) { - return settings.isInlineParameterNamesForLiteralCallArguments(); - } else { LOG.error("Unknown element:" + element); return false; @@ -781,7 +775,6 @@ public abstract class JavaFoldingBuilderBase extends CustomFoldingBuilder implem public void visitMethodCallExpression(PsiMethodCallExpression expression) { if (!dumb) { addMethodGenericParametersFolding(expression, foldElements, document, quick); - inlineLiteralArgumentsNames(expression, foldElements, quick); } super.visitMethodCallExpression(expression); @@ -791,7 +784,6 @@ public abstract class JavaFoldingBuilderBase extends CustomFoldingBuilder implem public void visitNewExpression(PsiNewExpression expression) { if (!dumb) { addGenericParametersFolding(expression, foldElements, document, quick); - inlineLiteralArgumentsNames(expression, foldElements, quick); } super.visitNewExpression(expression); @@ -805,16 +797,6 @@ public abstract class JavaFoldingBuilderBase extends CustomFoldingBuilder implem }); } - private static void inlineLiteralArgumentsNames(@NotNull PsiCallExpression expression, - @NotNull List foldElements, - boolean quick) { - if (quick || !JavaCodeFoldingSettings.getInstance().isInlineParameterNamesForLiteralCallArguments()) { - return; - } - ParameterNameFoldingManager manager = new ParameterNameFoldingManager(expression); - foldElements.addAll(manager.getDescriptors()); - } - private boolean addClosureFolding(@NotNull PsiClass aClass, @NotNull Document document, @NotNull List foldElements,