class Outer {
  constructor() /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  open inner class Inner {
    constructor(x: Int) /* primary */ {
      super/*Any*/()
      /* <init>() */

    }

    val x: Int
      field = x
      get

  }

}

class Host {
  constructor(y: Int) /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  val y: Int
    field = y
    get

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

        }

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

      }

      <no name provided>()
    }
  }

}
