Desugar constructor call of inline class to the underlying value
Also add information about KotlinType to the constant stack values
This commit is contained in:
+30
@@ -0,0 +1,30 @@
|
||||
// !LANGUAGE: +InlineClasses
|
||||
|
||||
inline class AsInt(val value: Int) {
|
||||
override fun toString(): String {
|
||||
return "asInt: ${value.toString()}"
|
||||
}
|
||||
}
|
||||
|
||||
inline class AsAny(val value: Any) {
|
||||
override fun toString(): String {
|
||||
return "asAny: ${value.toString()}"
|
||||
}
|
||||
}
|
||||
|
||||
fun takeAny(a: Any): String = a.toString()
|
||||
|
||||
fun getInt(): Int = 10
|
||||
fun <T> id(x: T) = x
|
||||
|
||||
fun box(): String {
|
||||
if (takeAny(AsInt(123)) != "asInt: 123") return "fail"
|
||||
if (takeAny(AsAny(321)) != "asAny: 321") return "fail"
|
||||
|
||||
if (takeAny(AsInt(getInt())) != "asInt: 10") return "fail"
|
||||
if (takeAny(AsInt(id(20))) != "asInt: 20") return "fail"
|
||||
|
||||
if (takeAny(AsAny(id(30))) != "asAny: 30") return "fail"
|
||||
|
||||
return "OK"
|
||||
}
|
||||
Reference in New Issue
Block a user