abstract class A : Java1 {
  constructor() /* primary */ {
    super/*Java1*/()
    /* <init>() */

  }

}

abstract class B : Java1 {
  constructor() /* primary */ {
    super/*Java1*/()
    /* <init>() */

  }

  override fun firstEntry(): MutableEntry<Any, Any> {
    return CHECK_NOT_NULL<Nothing>(arg0 = null)
  }

  override fun putFirst(k: Any?, v: Any?): Any {
    return ""
  }

  override fun reversed(): SequencedMap<Any, Any>? {
    return CHECK_NOT_NULL<Nothing>(arg0 = null)
  }

}

abstract class C : Java1, Java2 {
  constructor() /* primary */ {
    super/*Java1*/()
    /* <init>() */

  }

  override fun putFirst(k: Any?, v: Any?): Any {
    return ""
  }

}

abstract class D : Java2, KotlinInterface {
  constructor() /* primary */ {
    super/*Any*/()
    /* <init>() */

  }

  override fun putFirst(k: Any?, v: Any?): Any {
    return ""
  }

}

abstract class E : Java3 {
  constructor() /* primary */ {
    super/*Java3*/()
    /* <init>() */

  }

}

abstract class F : Java3 {
  override val size: Int
    field = size
    override get

  constructor(size: Int) /* primary */ {
    super/*Java3*/()
    /* <init>() */

  }

  override fun remove(key: Any?): Any? {
    return ""
  }

  override fun reversed(): SequencedMap<Any, Any> {
    return CHECK_NOT_NULL<Nothing>(arg0 = null)
  }

}

interface KotlinInterface : SequencedMap<Any, Any> {
}

fun test(a: A, b: B, c: C, d: D, e: E, f: F) {
  a.putFirst(p0 = 1, p1 = null) /*~> Unit */
  a.firstEntry() /*~> Unit */
  a.putLast(p0 = null, p1 = 2) /*~> Unit */
  a.lastEntry() /*~> Unit */
  a.pollFirstEntry() /*~> Unit */
  a.reversed() /*~> Unit */
  a.sequencedKeySet() /*~> Unit */
  b.putFirst(k = 1, v = null) /*~> Unit */
  b.firstEntry() /*~> Unit */
  b.putLast(p0 = null, p1 = 2) /*~> Unit */
  b.lastEntry() /*~> Unit */
  b.pollFirstEntry() /*~> Unit */
  b.reversed() /*~> Unit */
  b.sequencedKeySet() /*~> Unit */
  c.putFirst(k = 1, v = null) /*~> Unit */
  c.firstEntry() /*~> Unit */
  c.putLast(p0 = null, p1 = 2) /*~> Unit */
  c.lastEntry() /*~> Unit */
  c.reversed() /*~> Unit */
  d.putFirst(k = 1, v = null) /*~> Unit */
  d.firstEntry() /*~> Unit */
  d.putLast(p0 = null, p1 = 1) /*~> Unit */
  d.lastEntry() /*~> Unit */
  d.reversed() /*~> Unit */
  e.putFirst(p0 = 1, p1 = null) /*~> Unit */
  e.firstEntry() /*~> Unit */
  e.putLast(p0 = null, p1 = 2) /*~> Unit */
  e.lastEntry() /*~> Unit */
  e.reversed() /*~> Unit */
  f.putFirst(p0 = 1, p1 = null) /*~> Unit */
  f.firstEntry() /*~> Unit */
  f.putLast(p0 = null, p1 = 2) /*~> Unit */
  f.lastEntry() /*~> Unit */
  f.reversed() /*~> Unit */
}
