class CustomDelegate { public fun get(thisRef: Any?, prop: PropertyMetadata): String = prop.name } public abstract class A(lateinit val p2: String) { public lateinit val a: String lateinit val b: T private lateinit var c: CharSequence lateinit val d: String get public lateinit var e: String get private set fun a() { lateinit val a: String } lateinit val e1: V lateinit val e2: String? lateinit val e3: Int lateinit val e4: Int? lateinit var e5 = "A" lateinit var e6 = 3 lateinit val e7 by CustomDelegate() lateinit val e8: String get() = "A" lateinit var e9: String set(v) { field = v } abstract lateinit val e10: String lateinit val String.e11: String lateinit var String.e12: String } lateinit val topLevel: String lateinit var topLevelMutable: String public interface Intf { lateinit val str: String } public abstract class AbstractClass { abstract val str: String } public class AbstractClassImpl : AbstractClass() { override lateinit val str: String }