Files
kotlin-fork/compiler/testData/ir/irText/declarations/parameters/delegatedMembers.fir.kt.txt
T
Mikhail Glukhikh d4b0688690 FIR: introduce delegate field initializers
Before this commit we initialized delegate fields in primary constructor,
that could provoke NPE in case delegate is used in initializer of
some property backing field.
Now we initialize delegate fields directly instead.
2021-02-08 14:28:27 +03:00

34 lines
621 B
Plaintext
Vendored

interface IBase<T : Any?> {
abstract fun foo(x: Int)
abstract val bar: Int
abstract get
abstract fun <X : Any?> qux(t: T, x: X)
}
class Test<TT : Any?> : IBase<TT> {
constructor(impl: IBase<TT>) /* primary */ {
super/*Any*/()
/* <init>() */
}
override fun foo(x: Int) {
<this>.#<$$delegate_0>.foo(x = x)
}
override fun <X : Any?> qux(t: TT, x: X) {
<this>.#<$$delegate_0>.qux</* null */>(t = t, x = x)
}
override val bar: Int
override get(): Int {
return <this>.#<$$delegate_0>.<get-bar>()
}
local /* final field */ val <$$delegate_0>: IBase<TT> = impl
}