class CustomDelegate { public fun get(thisRef: Any?, prop: PropertyMetadata): String = prop.name } public abstract class A(lateinit var 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 var a: String } lateinit var e1: V lateinit var e2: String? lateinit var e3: Int lateinit var 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 var e10: String lateinit var String.e11: String lateinit var String.e12: String } lateinit val topLevel: String lateinit var topLevelMutable: String public interface Intf { lateinit var str: String } public abstract class AbstractClass { abstract var str: String } public class AbstractClassImpl : AbstractClass() { override lateinit var str: String }