[K/N] Add test for inlining of adopted function reference
^KT-48179
This commit is contained in:
@@ -6033,6 +6033,10 @@ fileCheckTest("filecheck_bce") {
|
|||||||
annotatedSource = project.file('filecheck/bce.kt')
|
annotatedSource = project.file('filecheck/bce.kt')
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fileCheckTest("filecheck_adopted_function_reference") {
|
||||||
|
annotatedSource = project.file('filecheck/adopted_function_reference.kt')
|
||||||
|
}
|
||||||
|
|
||||||
fileCheckTest("filecheck_signext_zeroext0") {
|
fileCheckTest("filecheck_signext_zeroext0") {
|
||||||
annotatedSource = project.file('filecheck/signext_zeroext0.kt')
|
annotatedSource = project.file('filecheck/signext_zeroext0.kt')
|
||||||
if (project.testTarget == 'mingw_x64') {
|
if (project.testTarget == 'mingw_x64') {
|
||||||
|
|||||||
@@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Copyright 2010-2021 JetBrains s.r.o. and Kotlin Programming Language contributors.
|
||||||
|
* Use of this source code is governed by the Apache 2.0 license that can be found in the license/LICENSE.txt file.
|
||||||
|
*/
|
||||||
|
|
||||||
|
inline fun foo(x: () -> Unit): String {
|
||||||
|
x()
|
||||||
|
return "OK"
|
||||||
|
}
|
||||||
|
|
||||||
|
fun String.id(s: String = this, vararg xs: Int): String = s
|
||||||
|
|
||||||
|
// CHECK-LABEL: "kfun:#main(){}"
|
||||||
|
fun main() {
|
||||||
|
// CHECK-LABEL: entry
|
||||||
|
// CHECK-NOT: call %struct.ObjHeader* @AllocInstance
|
||||||
|
// CHECK-NOT: alloca
|
||||||
|
val x = foo("Fail"::id)
|
||||||
|
println(x)
|
||||||
|
// CHECK-LABEL: epilogue
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user