backend: add more tests for lambda

This commit is contained in:
Svyatoslav Scherbina
2016-12-13 12:58:46 +07:00
committed by SvyatoslavScherbina
parent 7d4074a1a4
commit ac4aca1c3a
4 changed files with 48 additions and 0 deletions
+15
View File
@@ -738,4 +738,19 @@ task lambda8(type: RunKonanTest) {
task lambda9(type: RunKonanTest) {
goldValue = "0\n0\n1\n0\n0\n1\n1\n1\n"
source = "codegen/lambda/lambda9.kt"
}
task lambda10(type: RunKonanTest) {
goldValue = "original\nchanged\n"
source = "codegen/lambda/lambda10.kt"
}
task lambda11(type: RunKonanTest) {
goldValue = "first\nsecond\n"
source = "codegen/lambda/lambda11.kt"
}
task lambda12(type: RunKonanTest) {
goldValue = "one\ntwo\n"
source = "codegen/lambda/lambda12.kt"
}
@@ -0,0 +1,12 @@
fun main(args : Array<String>) {
var str = "original"
val lambda = {
println(str)
}
lambda()
str = "changed"
lambda()
}
@@ -0,0 +1,13 @@
fun main(args : Array<String>) {
val first = "first"
val second = "second"
run {
println(first)
println(second)
}
}
fun run(f: () -> Unit) {
f()
}
@@ -0,0 +1,8 @@
fun main(args : Array<String>) {
val lambda = { s1: String, s2: String ->
println(s1)
println(s2)
}
lambda("one", "two")
}