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"
|
||||
}
|
||||
|
||||
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) {
|
||||
goldValue = "42\n"
|
||||
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