// CHECK:
//   Mangled name: O
//   Public signature: /O|null[0]
class O {
  // CHECK:
  //   Mangled name: O{}o
  //   Public signature: /O.o|-5332571409865440260[0]
  //   Public signature debug description: {}o
  val o: String
    // CHECK JVM_IR:
    //   Mangled name: O#<get-o>(){}kotlin.String
    //   Public signature: /O.o.<get-o>|2606027183154875572[0]
    //   Public signature debug description: <get-o>(){}kotlin.String
    // CHECK JS_IR NATIVE:
    //   Mangled name: O#<get-o>(){}
    //   Public signature: /O.o.<get-o>|-5005637647237604760[0]
    //   Public signature debug description: <get-o>(){}
    get

  // CHECK:
  //   Mangled name: O#<init>(kotlin.String){}
  //   Public signature: /O.<init>|1280618353163213788[0]
  //   Public signature debug description: <init>(kotlin.String){}
  constructor(o: String) /* primary */

}

// CHECK:
//   Mangled name: OK
//   Public signature: /OK|null[0]
class OK {
  // CHECK:
  //   Mangled name: OK{}k
  //   Public signature: /OK.k|2162811783424158931[0]
  //   Public signature debug description: {}k
  val k: String
    // CHECK JVM_IR:
    //   Mangled name: OK#<get-k>(){}kotlin.String
    //   Public signature: /OK.k.<get-k>|-8248201737917988340[0]
    //   Public signature debug description: <get-k>(){}kotlin.String
    // CHECK JS_IR NATIVE:
    //   Mangled name: OK#<get-k>(){}
    //   Public signature: /OK.k.<get-k>|2619553883593572199[0]
    //   Public signature debug description: <get-k>(){}
    get

  // CHECK:
  //   Mangled name: OK{}result
  //   Public signature: /OK.result|456251868630197251[0]
  //   Public signature debug description: {}result
  val result: String
    // CHECK JVM_IR:
    //   Mangled name: OK#<get-result>(){}kotlin.String
    //   Public signature: /OK.result.<get-result>|8441547134620975366[0]
    //   Public signature debug description: <get-result>(){}kotlin.String
    // CHECK JS_IR NATIVE:
    //   Mangled name: OK#<get-result>(){}
    //   Public signature: /OK.result.<get-result>|7945192536455394063[0]
    //   Public signature debug description: <get-result>(){}
    get

  // CHECK:
  //   Mangled name: OK#<init>!O(kotlin.String){}
  //   Public signature: /OK.<init>|-804847331171011326[0]
  //   Public signature debug description: <init>!O(kotlin.String){}
  constructor($context_receiver_0: O, k: String) /* primary */

}

// CHECK JVM_IR:
//   Mangled name: #box(){}kotlin.String
//   Public signature: /box|-9347091776561469[0]
//   Public signature debug description: box(){}kotlin.String
// CHECK JS_IR NATIVE:
//   Mangled name: #box(){}
//   Public signature: /box|2173511048851971368[0]
//   Public signature debug description: box(){}
fun box(): String

