Files
kotlin-fork/compiler/testData/klib/dump-abi/content/value_parameters.kt
T
Dmitriy Dolovov d691ab61d7 [KLIB] Keep "API for KLIB ABI" test data under "compiler/testData/klib/" dir
The test data is used both in ":kotlin-util-klib-abi" and
":native:native.tests" modules. It's better to keep it together with
the test data for other KLIB tests which are also used in more than one
module, i.e. in "compiler/testData/klib/" dir.
2023-08-16 19:11:35 +00:00

29 lines
1.1 KiB
Kotlin
Vendored

// !LANGUAGE: +ContextReceivers
// MODULE: value_parameters_library
package value_parameters.test
inline fun funWithInlineParameters1(
inlineBlock: (Int) -> String,
noinline noinlineBlock: (Int) -> String,
crossinline crossinlineBlock: (Int) -> String
): String = ""
inline fun funWithInlineParameters2(
inlineBlock: Function1<Int, String>,
noinline noinlineBlock: Function1<Int, String>,
crossinline crossinlineBlock: Function1<Int, String>
): String = ""
fun funWithDefaultArgs(p1: Int = 42, p2: Long, p3: String = ""): String = ""
fun funWithVararg(vararg p: Any?): String = ""
fun funWithVarargAndDefaultArg(vararg p: Long = longArrayOf(1L, 2L, 3L)): String = p.joinToString()
fun funWithVarargAndDefaultArg(vararg p: Any? = arrayOf("hello", 2, null)): String = p.joinToString()
// This is needed to check that value parameter indices are properly deserialized for functions with context receivers.
context(Int, Long) fun funWithDefaultArgs(p1: Int = 42, p2: Long, p3: String = ""): String = ""
inline fun funWithMixedStuff(
crossinline block: (Int) -> String = { it.toString() }
): String = ""