diff --git a/java/java-impl/src/com/intellij/codeInsight/hints/JavaParameterHintManager.java b/java/java-impl/src/com/intellij/codeInsight/hints/JavaParameterHintManager.java index 3c7c177cfad2..caa48a8677f8 100644 --- a/java/java-impl/src/com/intellij/codeInsight/hints/JavaParameterHintManager.java +++ b/java/java-impl/src/com/intellij/codeInsight/hints/JavaParameterHintManager.java @@ -60,7 +60,7 @@ public class JavaParameterHintManager { if (expression instanceof PsiNewExpression) { return false; } - final PsiType returnType = method.getReturnType(); + PsiType returnType = TypeConversionUtil.erasure(method.getReturnType()); final PsiClass aClass = method.getContainingClass(); final String calledMethodFqn = aClass != null ? aClass.getQualifiedName() : null; if (calledMethodFqn != null && returnType != null) { diff --git a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/JavaParameterNameHintsTest.kt b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/JavaParameterNameHintsTest.kt index 1c90545bf476..68dc08fec315 100644 --- a/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/JavaParameterNameHintsTest.kt +++ b/java/java-tests/testSrc/com/intellij/codeInsight/daemon/inlays/JavaParameterNameHintsTest.kt @@ -92,6 +92,28 @@ class Fooo { onLineStartingWith("assertEquals").assertInlays("expected->\"fooo\"") onLineStartingWith("show").assertInlays("message->\"Hi\"") } + + fun `test no hints for generic builders`() { + setup(""" +class Foo { + void test() { + new IntStream().skip(10); + new Stream().skip(10); + } +} + +class IntStream { + public IntStream skip(int n) {} +} + +class Stream { + public Stream skip(int n) {} +} +""") + + onLineStartingWith("new IntStream").assertNoInlays() + onLineStartingWith("new Stream").assertNoInlays() + } fun `test do not show hints on setters`() { setup("""class Groo {