val testTopLevel: String /* by */ field = DelegateProvider(value = "OK").provideDelegate(thisRef = null, property = ::testTopLevel) get(): String { return #testTopLevel$delegate.getValue(thisRef = null, property = ::testTopLevel) } class Delegate { val value: String field = value get constructor(value: String) /* primary */ { super/*Any*/() /* () */ } operator fun getValue(thisRef: Any?, property: Any?): String { return .() } } class DelegateProvider { val value: String field = value get constructor(value: String) /* primary */ { super/*Any*/() /* () */ } operator fun provideDelegate(thisRef: Any?, property: Any?): Delegate { return Delegate(value = .()) } }