blob: 78d86a81ee05471c4bd4ad3eaacac03712917b14 [file]
// RUN_PIPELINE_TILL: CODEGEN
import kotlin.reflect.KProperty
class LazyDelegate<T>(val value: T) {
operator fun getValue(thisRef: Any?, property: KProperty<*>): T = value
}
fun <T> lazy(block: () -> T): LazyDelegate<T> = LazyDelegate(block())
fun getAny(): Any? = null
fun <Q> materialize(): Q = null!!
class Test {
val x: String by lazy {
materialize()
}
}
/* GENERATED_FIR_TAGS: checkNotNullCall, classDeclaration, functionDeclaration, functionalType, lambdaLiteral,
nullableType, operator, primaryConstructor, propertyDeclaration, propertyDelegate, starProjection, typeParameter */