[tests] Add a test case for KT-61978

^KT-61978 Obsolete
This commit is contained in:
Stanislav Ruban
2023-11-26 22:27:08 +01:00
committed by Space Team
parent 28c1049518
commit 269b60b420
20 changed files with 139 additions and 0 deletions
@@ -0,0 +1,26 @@
// ISSUE: KT-61978
// WITH_REFLECT
// WITH_STDLIB
// IGNORE_INLINER: IR
// java.lang.UnsupportedOperationException
// (this function has a reified type parameter and thus can only be inlined at compilation time, not called directly)
// at Klass.<init>(DelegationByFunctionWithEnumUpperBound.kt:23)
import kotlin.properties.ReadWriteProperty
import kotlin.reflect.KProperty
enum class Enumeration { OK }
inline fun <reified T: Enum<T>> delegate() = object: ReadWriteProperty<Any?, T?> {
override fun getValue(thisRef: Any?, property: KProperty<*>): T? = Enumeration.OK as T?
override fun setValue(thisRef: Any?, property: KProperty<*>, value: T?) {}
}
class Klass {
var enumeration: Enumeration? by delegate()
}
fun box(): String {
return Klass().enumeration.toString()
}