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

  }

  val x: Int
    field = 1
    get

}

class Inner {
  private /* final field */ val contextReceiverField0: Outer
  constructor(_context_receiver_0: Outer, arg: Any) /* primary */ {
    super/*Any*/()
    <this>.#contextReceiverField0 = _context_receiver_0
    /* <init>() */

  }

  fun bar(): Int {
    return <this>.#contextReceiverField0.<get-x>()
  }

}

fun f(outer: Outer) {
  with<Outer, Inner>(receiver = outer, block = local fun Outer.<anonymous>(): Inner {
    return Inner(_context_receiver_0 = $this$with, arg = 3)
  }
) /*~> Unit */
}
