Files
kotlin-fork/compiler/testData/diagnostics/tests/varargs/varargViewedAsArray.txt
T
Pavel Kirpichenkov f80a71517f [NI] Handle vararg parameter in reflection type wrt array types
Vararg parameter in reflection type is interpreted as covariant
array type against array in expected functional type and as
vararg element type otherwise. For instance having function
fun foo(vararg args: Int): Unit { /*...*/ }
reference ::foo can be passed against expected
(Int) -> Unit,
(Int, Int) -> Unit, etc.
In none of such cases type for parameter in foo's reflection type
should be changed to array.
However, against expected type (IntArray) -> Unit args' type
must become IntArray.

^KT-25514 Fixed
2019-11-21 20:07:14 +03:00

15 lines
1.2 KiB
Plaintext
Vendored

package
public fun intVararg(/*0*/ vararg args: kotlin.Int /*kotlin.IntArray*/): kotlin.Unit
public fun numberVararg(/*0*/ vararg args: kotlin.Number /*kotlin.Array<out kotlin.Number>*/): kotlin.Unit
public fun stringVararg(/*0*/ vararg args: kotlin.String /*kotlin.Array<out kotlin.String>*/): kotlin.Unit
public fun test(): kotlin.Unit
public fun useIntArray(/*0*/ fn: (kotlin.Array<kotlin.Int>) -> kotlin.Unit): kotlin.Unit
public fun useMixedStringArgs1(/*0*/ fn: (kotlin.String, kotlin.Array<kotlin.String>) -> kotlin.Unit): kotlin.Unit
public fun useMixedStringArgs2(/*0*/ fn: (kotlin.Array<kotlin.String>, kotlin.String) -> kotlin.Unit): kotlin.Unit
public fun useMixedStringArgs3(/*0*/ fn: (kotlin.String, kotlin.Array<kotlin.String>, kotlin.String) -> kotlin.Unit): kotlin.Unit
public fun usePrimitiveIntArray(/*0*/ fn: (kotlin.IntArray) -> kotlin.Unit): kotlin.Unit
public fun useStringArray(/*0*/ fn: (kotlin.Array<kotlin.String>) -> kotlin.Unit): kotlin.Unit
public fun useStrings(/*0*/ fn: (kotlin.String, kotlin.String, kotlin.String) -> kotlin.Unit): kotlin.Unit
public fun useTwoStringArrays(/*0*/ fn: (kotlin.Array<kotlin.String>, kotlin.Array<kotlin.String>) -> kotlin.Unit): kotlin.Unit