class A<T : Any?> {
  val a: T
    field = a
    get

  constructor(a: T) /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

}

class B {
  val b: Any
    field = b
    get

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

  }

}

class C {
  val c: Any
    field = c
    get

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

  }

}

fun f($context_receiver_0: A<Int>, $context_receiver_1: A<String>, $context_receiver_2: B) {
  $context_receiver_0.<get-a>().toFloat() /*~> Unit */
  $context_receiver_1.<get-a>().<get-length>() /*~> Unit */
  $context_receiver_2.<get-b>() /*~> Unit */
}

val C.p: Int
  get($context_receiver_0: A<Int>, $context_receiver_1: A<String>, $context_receiver_2: B): Int {
    $context_receiver_0.<get-a>().toFloat() /*~> Unit */
    $context_receiver_1.<get-a>().<get-length>() /*~> Unit */
    $context_receiver_2.<get-b>() /*~> Unit */
    <this>.<get-c>() /*~> Unit */
    <this>.<get-c>() /*~> Unit */
    <this>.<get-c>() /*~> Unit */
    return 1
  }

