From 9540aeb8c26c5fee95d8eb848c46f2be9c22546b Mon Sep 17 00:00:00 2001 From: Tagir Valeev Date: Tue, 13 Sep 2016 11:35:14 +0700 Subject: [PATCH] IDEA-CR-13640 Suggest variable name based on type --- .../codeInspection/StreamApiMigrationInspection.java | 8 ++++---- .../afterCollectHashSetFieldInitializer.java | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/java/java-analysis-impl/src/com/intellij/codeInspection/StreamApiMigrationInspection.java b/java/java-analysis-impl/src/com/intellij/codeInspection/StreamApiMigrationInspection.java index ad2409f10f9d..12f4143eaa95 100644 --- a/java/java-analysis-impl/src/com/intellij/codeInspection/StreamApiMigrationInspection.java +++ b/java/java-analysis-impl/src/com/intellij/codeInspection/StreamApiMigrationInspection.java @@ -771,8 +771,8 @@ public class StreamApiMigrationInspection extends BaseJavaBatchLocalInspectionTo simplifyAndFormat(project, result); return; } - intermediateOps - .add(createMapperFunctionalExpressionText(tb.getVariable(), methodCallExpression.getArgumentList().getExpressions()[0])); + PsiExpression itemToAdd = methodCallExpression.getArgumentList().getExpressions()[0]; + intermediateOps.add(createMapperFunctionalExpressionText(tb.getVariable(), itemToAdd)); final StringBuilder builder = generateStream(iteratedValue, intermediateOps); final PsiExpression qualifierExpression = methodCallExpression.getMethodExpression().getQualifierExpression(); @@ -790,8 +790,8 @@ public class StreamApiMigrationInspection extends BaseJavaBatchLocalInspectionTo JavaCodeStyleManager codeStyleManager = JavaCodeStyleManager.getInstance(project); final SuggestedNameInfo suggestedNameInfo = codeStyleManager - .suggestVariableName(VariableKind.LOCAL_VARIABLE, "item", null, null, false); - String varName = codeStyleManager.suggestUniqueVariableName(suggestedNameInfo, qualifierExpression, false).names[0]; + .suggestVariableName(VariableKind.LOCAL_VARIABLE, null, null, itemToAdd.getType(), false); + String varName = codeStyleManager.suggestUniqueVariableName(suggestedNameInfo, methodCallExpression, false).names[0]; PsiExpression forEachBody = elementFactory.createExpressionFromText(qualifierText + "add(" + varName + ")", qualifierExpression); diff --git a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/streamApiMigration/afterCollectHashSetFieldInitializer.java b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/streamApiMigration/afterCollectHashSetFieldInitializer.java index b9efcc8d098d..c85018fbfda9 100644 --- a/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/streamApiMigration/afterCollectHashSetFieldInitializer.java +++ b/java/java-tests/testData/codeInsight/daemonCodeAnalyzer/quickFix/streamApiMigration/afterCollectHashSetFieldInitializer.java @@ -10,6 +10,6 @@ public class Collect { Set names = new HashSet<>(); void collectNames(List persons){ - persons.stream().map(Person::getName).forEach(item -> names.add(item)); + persons.stream().map(Person::getName).forEach(s -> names.add(s)); } }