backend/tests: Add tests for local function closures
This commit is contained in:
@@ -431,6 +431,31 @@ task localClass_noPrimaryConstructor(type: RunKonanTest) {
|
|||||||
source = "codegen/localClass/noPrimaryConstructor.kt"
|
source = "codegen/localClass/noPrimaryConstructor.kt"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
task localClass_localFunctionCallFromLocalClass(type: RunKonanTest) {
|
||||||
|
goldValue = "OK\n"
|
||||||
|
source = "codegen/localClass/localFunctionCallFromLocalClass.kt"
|
||||||
|
}
|
||||||
|
|
||||||
|
task localClass_localFunctionInLocalClass(type: RunKonanTest) {
|
||||||
|
goldValue = "OK\n"
|
||||||
|
source = "codegen/localClass/localFunctionInLocalClass.kt"
|
||||||
|
}
|
||||||
|
|
||||||
|
task function_localFunction(type : RunKonanTest) {
|
||||||
|
goldValue = "OK\n"
|
||||||
|
source = "codegen/function/localFunction.kt"
|
||||||
|
}
|
||||||
|
|
||||||
|
task function_localFunction2(type : RunKonanTest) {
|
||||||
|
goldValue = "OK\n"
|
||||||
|
source = "codegen/function/localFunction2.kt"
|
||||||
|
}
|
||||||
|
|
||||||
|
task function_localFunction3(type : RunKonanTest) {
|
||||||
|
goldValue = "OK\n"
|
||||||
|
source = "codegen/function/localFunction3.kt"
|
||||||
|
}
|
||||||
|
|
||||||
task initializers_correctOrder1(type: RunKonanTest) {
|
task initializers_correctOrder1(type: RunKonanTest) {
|
||||||
goldValue = "42\n"
|
goldValue = "42\n"
|
||||||
source = "codegen/initializers/correctOrder1.kt"
|
source = "codegen/initializers/correctOrder1.kt"
|
||||||
|
|||||||
@@ -0,0 +1,11 @@
|
|||||||
|
fun main(args : Array<String>) {
|
||||||
|
val x = 1
|
||||||
|
fun local0() = println(x)
|
||||||
|
fun local1() {
|
||||||
|
fun local2() {
|
||||||
|
local1()
|
||||||
|
}
|
||||||
|
local0()
|
||||||
|
}
|
||||||
|
println("OK")
|
||||||
|
}
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
fun main(args : Array<String>) {
|
||||||
|
fun bar() {
|
||||||
|
fun local1() {
|
||||||
|
bar()
|
||||||
|
}
|
||||||
|
local1()
|
||||||
|
|
||||||
|
var x = 0
|
||||||
|
fun local2() {
|
||||||
|
x++
|
||||||
|
bar()
|
||||||
|
}
|
||||||
|
local2()
|
||||||
|
}
|
||||||
|
println("OK")
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
fun main(args : Array<String>) {
|
||||||
|
var x = 1
|
||||||
|
fun local1() {
|
||||||
|
x++
|
||||||
|
}
|
||||||
|
|
||||||
|
class A {
|
||||||
|
fun bar() {
|
||||||
|
local1()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
A().bar()
|
||||||
|
println("OK")
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user