Add varargs tests; show ... before vararg arguments
This commit is contained in:
+2
-1
@@ -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)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -52,4 +52,44 @@ class InlayParameterHintsTest : KotlinLightCodeInsightFixtureTestCase() {
|
||||
val t = IllegalStateException("crime");
|
||||
}""")
|
||||
}
|
||||
|
||||
fun `test single varargs hint`() {
|
||||
check("""
|
||||
fun main() {
|
||||
testBooleanVarargs(<hint text="test:" />13, <hint text="...booleans:" />false)
|
||||
}
|
||||
|
||||
fun testBooleanVarargs(test: Int, vararg booleans: Boolean): Boolean {
|
||||
return false
|
||||
}
|
||||
}
|
||||
""")
|
||||
}
|
||||
|
||||
fun `test no hint if varargs null`() {
|
||||
check("""
|
||||
fun main() {
|
||||
testBooleanVarargs(<hint text="test:" />13)
|
||||
}
|
||||
|
||||
fun testBooleanVarargs(test: Int, vararg booleans: Boolean): Boolean {
|
||||
return false
|
||||
}
|
||||
""")
|
||||
}
|
||||
|
||||
|
||||
fun `test multiple vararg hint`() {
|
||||
check("""
|
||||
fun main() {
|
||||
testBooleanVarargs(<hint text="test:" />13, <hint text="...booleans:" />false, true, false)
|
||||
}
|
||||
|
||||
fun testBooleanVarargs(test: Int, vararg booleans: Boolean): Boolean {
|
||||
return false
|
||||
}
|
||||
""")
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user