From b0b69b2ad0ea9eb232a158272e745400ff5be5e8 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 19 Dec 2017 14:17:58 +0100 Subject: [PATCH] Put argument name hint before spread element #KT-21645 Fixed --- .../kotlin/idea/parameterInfo/ArgumentNameHints.kt | 3 ++- .../kotlin/idea/parameterInfo/InlayParameterHintsTest.kt | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/ArgumentNameHints.kt b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/ArgumentNameHints.kt index 2c7c1e4ae46..6ca67d3fc31 100644 --- a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/ArgumentNameHints.kt +++ b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/ArgumentNameHints.kt @@ -69,7 +69,8 @@ private fun getParameterInfoForCallCandidate(resolvedCall: ResolvedCall if (!arg.isNamed() && !valueParam.name.isSpecial && argExp.isUnclearExpression()) { val prefix = if (valueParam.varargElementType != null) "..." else "" - return@mapNotNull InlayInfo(prefix + valueParam.name.identifier, argExp.startOffset) + return@mapNotNull InlayInfo(prefix + valueParam.name.identifier, + arg.getSpreadElement()?.startOffset ?: argExp.startOffset) } } } diff --git a/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/InlayParameterHintsTest.kt b/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/InlayParameterHintsTest.kt index c3ea64652b8..a9fd377824c 100644 --- a/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/InlayParameterHintsTest.kt +++ b/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/InlayParameterHintsTest.kt @@ -178,4 +178,10 @@ annotation class ManyArgs(val name: String, val surname: String) x.foo("123") }""") } + + fun `test spread`() { + check("""fun foo(vararg x: Int) { + intArrayOf(1, 0).apply { foo(*this) } + }""") + } }