Files
kotlin/compiler/testData/codegen/boxInline/capture/simpleCapturingInPackage.1.kt
2014-07-07 10:51:46 +04:00

62 lines
2.1 KiB
Kotlin

fun testAll(): String {
return inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
"" + a1 + a2 + a3 + a4 + a5},
1, 12.0, 13.0, "14", 15)
}
fun testAllWithCapturedVal(): String {
val c1 = 21
val c2 = 22.0
val c3 = 23.0
val c4 = "24"
val c5 = 25.toLong()
val c6 = 'H'
val c7 = 26.toByte()
val c8 = 27.toShort()
val c9 = 28.toFloat()
return inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
"" + a1 + a2 + a3 + a4 + a5 + c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9},
1, 12.0, 13.0, "14", 15)
}
fun testAllWithCapturedVar(): String {
var c1 = 21
var c2 = 22.0
var c3 = 23.0
var c4 = "24"
var c5 = 25.toLong()
var c6 = 'H'
var c7 = 26.toByte()
var c8 = 27.toShort()
val c9 = 28.toFloat()
return inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
"" + a1 + a2 + a3 + a4 + a5 + c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9},
1, 12.0, 13.0, "14", 15)
}
fun testAllWithCapturedValAndVar(): String {
var c1 = 21
var c2 = 22.0
val c3 = 23.0
val c4 = "24"
var c5 = 25.toLong()
val c6 = 'H'
var c7 = 26.toByte()
var c8 = 27.toShort()
val c9 = 28.toFloat()
return inline({(a1: Int, a2: Double, a3: Double, a4: String, a5: Long) ->
"" + a1 + a2 + a3 + a4 + a5 + c1 + c2 + c3 + c4 + c5 + c6 + c7 + c8 + c9},
1, 12.0, 13.0, "14", 15)
}
fun box(): String {
if (testAll() != "112.013.01415") return "testAll: ${testAll()}"
if (testAllWithCapturedVal() != "112.013.014152122.023.02425H262728.0") return "testAllWithCapturedVal: ${testAllWithCapturedVal()}"
if (testAllWithCapturedVar() != "112.013.014152122.023.02425H262728.0") return "testAllWithCapturedVar: ${testAllWithCapturedVar()}"
if (testAllWithCapturedValAndVar() != "112.013.014152122.023.02425H262728.0") return "testAllWithCapturedVal: ${testAllWithCapturedValAndVar()}"
return "OK"
}