Files
kraken/tests/test_close_over_members.krak
Nathan Braswell 7543b95529 60 tests passing
2016-03-10 04:49:38 -05:00

56 lines
841 B
Plaintext

import io:*
import set
import util
fun runFunc(func: fun():void) {
func()
}
obj ToClose {
var data: int
fun print4() {
println(4)
}
fun testMethod() {
runFunc(fun() { print4(); } )
}
fun testVariable() {
data = 7
runFunc(fun() { println(data); } )
}
}
obj One (Object) {
fun construct(): *One {
return this
}
fun destruct() {
var a:One
util::safe_recursive_delete(&a, fun(it: *One): set::set<*One> { return set::set(it); } )
}
}
fun main():int {
var it: ToClose
it.testMethod()
it.testVariable()
var a = 129
var b = 222
fun() {
fun() {
println(a)
}()
}()
var c = fun() {
println(b)
fun() {
println(a)
}()
}
c()
return 0
}