class MyClass {
  val value: String
    field = value
    get

  constructor(value: String) /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

}

fun box(): String {
  val testO: String
    val testO$delegate: String = provideDelegate(/* <this> = MyClass(value = "O"), */ host = null, p = ::testO)
    local get(): String {
      return getValue(/* <this> = testO$delegate, */ receiver = null, p = ::testO)
    }

  val testK: String
    val testK$delegate: String = "K"
    local get(): String {
      return getValue(/* <this> = testK$delegate, */ receiver = null, p = ::testK)
    }

  val testOK: String = <get-testO>().plus(other = <get-testK>())
  return testOK
}

operator fun String.getValue(receiver: Any?, p: Any): String {
  return <this>
}

operator fun MyClass.provideDelegate(host: Any?, p: Any): String {
  return <this>.<get-value>()
}

