Migrate boxInline tests to new multi-file framework

This commit is contained in:
Alexander Udalov
2016-02-24 13:29:32 +03:00
committed by Alexander Udalov
parent fa1f7d988e
commit cc84aabdcf
586 changed files with 6946 additions and 5639 deletions
@@ -0,0 +1,35 @@
// FILE: 1.kt
package test
private class S {
fun a(): String {
return "K"
}
// This function exposes S which is a private class (package-private in the byte code)
// It can be accessed outside the `test` package, which may lead to IllegalAccessError.
// This behavior may be changed later
internal inline fun call(s: S.() -> String): String {
return call2(s)
}
}
@Suppress("PRIVATE_CLASS_MEMBER_FROM_INLINE", "EXPOSED_PARAMETER_TYPE", "EXPOSED_RECEIVER_TYPE")
internal inline fun S.call2(s: S.() -> String): String {
return s() + a()
}
internal fun call(): String {
return S().call {
"O"
}
}
// FILE: 2.kt
import test.*
fun box(): String {
return call()
}