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 ef19b296623c..3c7c177cfad2 100644 --- a/java/java-impl/src/com/intellij/codeInsight/hints/JavaParameterHintManager.java +++ b/java/java-impl/src/com/intellij/codeInsight/hints/JavaParameterHintManager.java @@ -95,7 +95,10 @@ public class JavaParameterHintManager { || JavaTokenType.PLUS.equals(tokenType)) && expr.getOperand() instanceof PsiLiteralExpression; } - if (callArgument instanceof PsiThisExpression) { + if (callArgument instanceof PsiThisExpression + || callArgument instanceof PsiBinaryExpression + || callArgument instanceof PsiPolyadicExpression) + { return true; } 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 295cc05e8db5..709df2f2afbf 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 @@ -662,5 +662,20 @@ class Key { onLineStartingWith("System.set").assertNoInlays() onLineStartingWith("new").assertNoInlays() } + + fun `test poly and binary expressions`() { + setup(""" +class Test { + void test() { + check(1 + 1); + int i=1; check(1 + 1 + 1); + } + void check(int isShow) {} +} +""") + + onLineStartingWith("check").assertInlays("isShow->1") + onLineStartingWith("int").assertInlays("isShow->1") + } } \ No newline at end of file