Files
kotlin-fork/compiler/testData/ir/irText/expressions/callableReferences/withAdaptedArguments.kt.txt
T
Dmitriy Novozhilov b454fcc1e0 [FIR] Save IR dumps to .ir.txt files instead of .txt in tests
This is needed to avoid clashes between different dumps from different
  handlers
2021-10-12 17:26:36 +03:00

96 lines
1.7 KiB
Plaintext
Vendored

fun use(fn: Function1<Int, String>): String {
return fn.invoke(p1 = 1)
}
fun use0(fn: Function0<String>): String {
return fn.invoke()
}
fun coerceToUnit(fn: Function1<Int, Unit>) {
}
fun fnWithDefault(a: Int, b: Int = 42): String {
return "abc"
}
fun fnWithDefaults(a: Int = 1, b: Int = 2): String {
return ""
}
fun fnWithVarargs(vararg xs: Int): String {
return "abc"
}
object Host {
private constructor() /* primary */ {
super/*Any*/()
/* <init>() */
}
fun importedObjectMemberWithVarargs(vararg xs: Int): String {
return "abc"
}
}
fun testDefault(): String {
return use(fn = { // BLOCK
local fun fnWithDefault(p0: Int): String {
return fnWithDefault(a = p0)
}
::fnWithDefault
})
}
fun testVararg(): String {
return use(fn = { // BLOCK
local fun fnWithVarargs(p0: Int): String {
return fnWithVarargs(xs = [p0])
}
::fnWithVarargs
})
}
fun testCoercionToUnit() {
return coerceToUnit(fn = { // BLOCK
local fun fnWithDefault(p0: Int) {
fnWithDefault(a = p0) /*~> Unit */
}
::fnWithDefault
})
}
fun testImportedObjectMember(): String {
return use(fn = { // BLOCK
local fun Host.importedObjectMemberWithVarargs(p0: Int): String {
return receiver.importedObjectMemberWithVarargs(xs = [p0])
}
Host::importedObjectMemberWithVarargs
})
}
fun testDefault0(): String {
return use0(fn = { // BLOCK
local fun fnWithDefaults(): String {
return fnWithDefaults()
}
::fnWithDefaults
})
}
fun testVararg0(): String {
return use0(fn = { // BLOCK
local fun fnWithVarargs(): String {
return fnWithVarargs()
}
::fnWithVarargs
})
}