diff --git a/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java b/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java index 2f03f262b203..a5f6a3a0ef07 100644 --- a/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java +++ b/java/java-impl/src/com/intellij/codeInsight/hint/api/impls/MethodParameterInfoHandler.java @@ -630,7 +630,7 @@ public class MethodParameterInfoHandler implements ParameterInfoHandlerWithTabAc highlightStartOffset, highlightEndOffset, !context.isUIComponentEnabled(), - method.isDeprecated() && !context.isSingleParameterInfo(), + method.isDeprecated() && !context.isSingleParameterInfo() && !context.isSingleOverload(), false, context.getDefaultParameterColor() ); diff --git a/java/java-tests/testSrc/com/intellij/java/codeInsight/ParameterInfoTest.java b/java/java-tests/testSrc/com/intellij/java/codeInsight/ParameterInfoTest.java index 63c0e90e4576..3377da923afc 100644 --- a/java/java-tests/testSrc/com/intellij/java/codeInsight/ParameterInfoTest.java +++ b/java/java-tests/testSrc/com/intellij/java/codeInsight/ParameterInfoTest.java @@ -22,6 +22,7 @@ import com.intellij.codeInsight.hint.api.impls.AnnotationParameterInfoHandler; import com.intellij.codeInsight.hint.api.impls.MethodParameterInfoHandler; import com.intellij.codeInsight.lookup.LookupElement; import com.intellij.codeInsight.lookup.LookupElementPresentation; +import com.intellij.ide.highlighter.JavaFileType; import com.intellij.lang.parameterInfo.CreateParameterInfoContext; import com.intellij.lang.parameterInfo.ParameterInfoUIContextEx; import com.intellij.openapi.util.Disposer; @@ -296,6 +297,11 @@ public class ParameterInfoTest extends LightCodeInsightFixtureTestCase { checkHighlighted(0); } + public void testNoStrikeoutForSingleDeprecatedMethod() { + myFixture.configureByText(JavaFileType.INSTANCE, "class C { void m() { System.runFinalizersOnExit(true); } }"); + assertEquals("boolean value", parameterPresentation(-1)); + } + private void checkHighlighted(int lineIndex) { MethodParameterInfoHandler handler = new MethodParameterInfoHandler(); CreateParameterInfoContext context = createContext(); diff --git a/platform/lang-api/src/com/intellij/lang/parameterInfo/ParameterInfoUIContext.java b/platform/lang-api/src/com/intellij/lang/parameterInfo/ParameterInfoUIContext.java index dc29e1f4ddae..de719e5b3fbd 100644 --- a/platform/lang-api/src/com/intellij/lang/parameterInfo/ParameterInfoUIContext.java +++ b/platform/lang-api/src/com/intellij/lang/parameterInfo/ParameterInfoUIContext.java @@ -29,6 +29,7 @@ public interface ParameterInfoUIContext { int getCurrentParameterIndex(); PsiElement getParameterOwner(); + boolean isSingleOverload(); boolean isSingleParameterInfo(); Color getDefaultParameterColor(); } diff --git a/platform/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoComponent.java b/platform/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoComponent.java index 41ddd37ff79a..c7b955e56437 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoComponent.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/hint/ParameterInfoComponent.java @@ -210,6 +210,11 @@ public class ParameterInfoComponent extends JPanel { return myParameterOwner; } + @Override + public boolean isSingleOverload() { + return myPanels.length == 1; + } + @Override public boolean isSingleParameterInfo() { return mySingleParameterInfo; diff --git a/platform/testFramework/src/com/intellij/testFramework/utils/parameterInfo/MockParameterInfoUIContext.java b/platform/testFramework/src/com/intellij/testFramework/utils/parameterInfo/MockParameterInfoUIContext.java index 6bc9261593f6..6dc50c5cb48a 100644 --- a/platform/testFramework/src/com/intellij/testFramework/utils/parameterInfo/MockParameterInfoUIContext.java +++ b/platform/testFramework/src/com/intellij/testFramework/utils/parameterInfo/MockParameterInfoUIContext.java @@ -69,6 +69,11 @@ public class MockParameterInfoUIContext implements Paramet return myFunction; } + @Override + public boolean isSingleOverload() { + return false; + } + @Override public boolean isSingleParameterInfo() { return false; diff --git a/python/testSrc/com/jetbrains/python/PyParameterInfoTest.java b/python/testSrc/com/jetbrains/python/PyParameterInfoTest.java index 3ba88592039f..834431625c35 100644 --- a/python/testSrc/com/jetbrains/python/PyParameterInfoTest.java +++ b/python/testSrc/com/jetbrains/python/PyParameterInfoTest.java @@ -819,6 +819,11 @@ public class PyParameterInfoTest extends LightMarkedTestCase { return myParameterOwner; } + @Override + public boolean isSingleOverload() { + return myItemsToShow.length == 1; + } + @Override public boolean isSingleParameterInfo() { return false;