Files
kotlin-fork/compiler/testData/diagnostics/tests/valueClasses/delegatedPropertyInValueClass.fir.kt
T
2021-03-06 09:22:34 +03:00

35 lines
893 B
Kotlin
Vendored

// !SKIP_JAVAC
// !LANGUAGE: +InlineClasses
package kotlin.jvm
annotation class JvmInline
class Val {
operator fun getValue(thisRef: Any?, kProp: Any?) = 1
}
class Var {
operator fun getValue(thisRef: Any?, kProp: Any?) = 2
operator fun setValue(thisRef: Any?, kProp: Any?, value: Int) {}
}
object ValObject {
operator fun getValue(thisRef: Any?, kProp: Any?) = 1
}
object VarObject {
operator fun getValue(thisRef: Any?, kProp: Any?) = 2
operator fun setValue(thisRef: Any?, kProp: Any?, value: Int) {}
}
@JvmInline
value class Z(val data: Int) {
val testVal by <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>Val()<!>
var testVar by <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>Var()<!>
val testValBySingleton by <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>ValObject<!>
var testVarBySingleton by <!DELEGATED_PROPERTY_INSIDE_INLINE_CLASS!>VarObject<!>
}