Inline (wrapper) class IC extends erased inline class IC$Erased

This commit is contained in:
Dmitry Petrov
2018-08-29 17:57:38 +03:00
parent a46b28718e
commit 3080b65f7d
18 changed files with 143 additions and 22 deletions
@@ -0,0 +1,16 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND: JVM_IR
interface IFoo {
fun foo(): String
}
inline class IC(val x: String) : IFoo {
private fun privateFun() = x
override fun foo() = privateFun()
}
fun box(): String {
val x: IFoo = IC("OK")
return x.foo()
}
@@ -0,0 +1,12 @@
// !LANGUAGE: +InlineClasses
// IGNORE_BACKEND: JVM_IR
inline class IC(val x: String) {
private fun privateFun() = x
override fun toString() = privateFun()
}
fun box(): String {
val x: Any = IC("OK")
return x.toString()
}