From 75a1e8f0a25548488269c23dd8f9b7ee429a9b48 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Wed, 26 Apr 2017 11:10:36 +0200 Subject: [PATCH] Don't show hint for parameter with explicitly specified type --- .../parameterInfo/KotlinInlayParameterHintsProvider.kt | 2 +- .../kotlin/idea/parameterInfo/InlayTypeHintsTest.kt | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsProvider.kt b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsProvider.kt index 95d23bf34fd..80ce3695a0d 100644 --- a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsProvider.kt +++ b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsProvider.kt @@ -55,7 +55,7 @@ enum class HintType(desc: String, enabled: Boolean) { } override fun isApplicable(elem: PsiElement): Boolean = (elem is KtProperty && elem.getReturnTypeReference() == null && elem.isLocal) || - (elem is KtParameter && elem.isLoopParameter) + (elem is KtParameter && elem.isLoopParameter && elem.typeReference == null) }, FUNCTION_HINT("Show function return type hints", false) { diff --git a/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/InlayTypeHintsTest.kt b/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/InlayTypeHintsTest.kt index 2ab08ba7f2f..de0de556c3f 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/InlayTypeHintsTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/InlayTypeHintsTest.kt @@ -46,4 +46,14 @@ class InlayTypeHintsTest : KotlinLightCodeInsightFixtureTestCase() { HintType.PROPERTY_HINT.option.set(true) check("""val a = Any()""") } + + fun testLoopParameter() { + HintType.LOCAL_VARIABLE_HINT.option.set(true) + check("""fun foo() { for (x in listOf("a")) { } }""") + } + + fun testLoopParameterWithExplicitType() { + HintType.LOCAL_VARIABLE_HINT.option.set(true) + check("""fun foo() { for (x: String in listOf("a")) { } }""") + } } \ No newline at end of file