Fix secondary constructor lowering

This commit is contained in:
Roman Artemev
2018-04-23 21:05:20 +03:00
parent 8721990a7f
commit 8bc80a9829
25 changed files with 129 additions and 236 deletions
@@ -2,42 +2,14 @@
import kotlin.test.assertEquals
fun run(r: () -> Any) = r()
fun test(i: Int, j: Int, k: Int): String {
var i = 0
var j = 2
val k = 4
fun f(): String = "OK"
val funVal = {
println(k)
}
run(funVal)
val funLit = { i += 1
j += k
f() }
val ret = run(funLit) as String
if (i != 1 || j != 6 || k != 4) return "fail"
return ret
}
inline fun foo(x: String, block: (String) -> String) = block(x)
fun box(): String {
return test(1, 2, 3)
}
fun bar(y: String) = y + "cde"
//fun box(): String {
//// fun bar(y: String) = y + "cde"
//
//// val res = foo("abc") { bar(it) }
//
//// assertEquals("abccde", res)
//
// return "OK"
//}
val res = foo("abc") { bar(it) }
assertEquals("abccde", res)
return "OK"
}