diff --git a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsProvider.kt b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsProvider.kt
index a0c75027069..1346be715ad 100644
--- a/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsProvider.kt
+++ b/idea/src/org/jetbrains/kotlin/idea/parameterInfo/KotlinInlayParameterHintsProvider.kt
@@ -126,7 +126,8 @@ private enum class HintType(desc: String, enabled: Boolean) {
resolvedArg.arguments.firstOrNull()?.let { arg ->
arg.getArgumentExpression()?.let { argExp ->
if (!arg.isNamed() && !valueParam.name.isSpecial && argExp.isUnclearExpression()) {
- return@mapNotNull InlayInfo(valueParam.name.identifier, argExp.startOffset)
+ val prefix = if (valueParam.varargElementType != null) "..." else ""
+ return@mapNotNull InlayInfo(prefix + valueParam.name.identifier, 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 c577ccbf7a4..5735cb27e2b 100644
--- a/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/InlayParameterHintsTest.kt
+++ b/idea/tests/org/jetbrains/kotlin/idea/parameterInfo/InlayParameterHintsTest.kt
@@ -52,4 +52,44 @@ class InlayParameterHintsTest : KotlinLightCodeInsightFixtureTestCase() {
val t = IllegalStateException("crime");
}""")
}
+
+ fun `test single varargs hint`() {
+ check("""
+ fun main() {
+ testBooleanVarargs(13, false)
+ }
+
+ fun testBooleanVarargs(test: Int, vararg booleans: Boolean): Boolean {
+ return false
+ }
+}
+""")
+ }
+
+ fun `test no hint if varargs null`() {
+ check("""
+ fun main() {
+ testBooleanVarargs(13)
+ }
+
+ fun testBooleanVarargs(test: Int, vararg booleans: Boolean): Boolean {
+ return false
+ }
+""")
+ }
+
+
+ fun `test multiple vararg hint`() {
+ check("""
+ fun main() {
+ testBooleanVarargs(13, false, true, false)
+ }
+
+ fun testBooleanVarargs(test: Int, vararg booleans: Boolean): Boolean {
+ return false
+ }
+""")
+ }
+
+
}