class Outer<T : Any?> {
  constructor(x: T) /* primary */ {
    super/*Any*/()
        /* InstanceInitializerCall */

  }

  val x: T
    field = x
    get

  open inner class Inner {
    constructor(y: Int) /* primary */ {
      super/*Any*/()
            /* InstanceInitializerCall */

    }

    val y: Int
      field = y
      get




  }




}

fun Outer<Int>.test(): Inner<Int> {
  return { // BLOCK
    local class <no name provided> : Inner<Int> {
      constructor() /* primary */ {
        <this>.super/*Inner*/(y = 42)
                /* InstanceInitializerCall */

      }

      val xx: Int
        field = <this>.<get-x>().plus(other = <this>.<get-y>())
        get




    }


    <no name provided>()
  }
}

