From c659eea1934aa055c6dda697919c06aed92fc603 Mon Sep 17 00:00:00 2001 From: peter Date: Thu, 24 Dec 2015 21:16:23 +0100 Subject: [PATCH] IDEA-149428 Suggested variable name on a chain of lambdas has a different name to the original --- ...unctionalExpressionCompletionProvider.java | 2 +- .../lambda/Normal8CompletionTest.groovy | 30 +++++++++++++++++-- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/java/java-impl/src/com/intellij/codeInsight/completion/FunctionalExpressionCompletionProvider.java b/java/java-impl/src/com/intellij/codeInsight/completion/FunctionalExpressionCompletionProvider.java index c42b487d8940..5ad4543848c3 100644 --- a/java/java-impl/src/com/intellij/codeInsight/completion/FunctionalExpressionCompletionProvider.java +++ b/java/java-impl/src/com/intellij/codeInsight/completion/FunctionalExpressionCompletionProvider.java @@ -259,6 +259,6 @@ public class FunctionalExpressionCompletionProvider extends CompletionProvider } }""" def items = myFixture.completeBasic() - assert LookupElementPresentation.renderElement(items[0]).itemText == 'x -> {}' + assert LookupElementPresentation.renderElement(items[0]).itemText == 'x1 -> {}' + } + + public void "test lambda signature duplicate parameter name"() { + myFixture.configureByText "a.java", """ +import java.util.function.Function; + +public class E { + public static void main(String[] args) { + Observable.just(new InterestingClass()) + .doOnNext(interestingClass -> doSomething()) + .doOnNext(inter) + } +} + +class Observable { + static Smth just(T t) { } +} + +class Smth { + Smth doOnNext(Function fun) { } +} + +class InterestingClass {} +""" + def items = myFixture.completeBasic() + assert LookupElementPresentation.renderElement(items[0]).itemText == 'interestingClass -> {}' } public void "test suggest this method references"() {