abstract class A : LinkedHashSet<Int> {
  constructor() /* primary */ {
    super/*LinkedHashSet*/<@FlexibleNullability Int?>()
    /* <init>() */

  }

}

abstract class B : LinkedHashSet<Int> {
  override val size: Int
    field = size
    override get

  constructor(size: Int) /* primary */ {
    super/*LinkedHashSet*/<@FlexibleNullability Int?>()
    /* <init>() */

  }

  override fun addFirst(e: Int?) {
    super<LinkedHashSet>.addFirst(p0 = e)
  }

  override fun reversed(): LinkedHashSet<Int> {
    return CHECK_NOT_NULL<Nothing>(arg0 = null)
  }

}

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

  }

}

abstract class D : Java1 {
  override val size: Int
    field = size
    override get

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

  }

  override fun getFirst(): Int {
    return 1
  }

  override fun reversed(): SequencedSet<Int> {
    return CHECK_NOT_NULL<Nothing>(arg0 = null)
  }

}

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

  }

}

abstract class F : Java1, Java2 {
  override val size: Int
    field = size
    override get

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

  }

  override fun reversed(): SequencedSet<Int> {
    return CHECK_NOT_NULL<Nothing>(arg0 = null)
  }

}

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

  }

}

abstract class H : Java2, KotlinInterface {
  override val size: Int
    field = size
    override get

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

  }

  override fun reversed(): SequencedSet<Int> {
    return CHECK_NOT_NULL<Nothing>(arg0 = null)
  }

}

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

  }

}

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

  }

  override fun reversed(): SequencedSet<Int> {
    return CHECK_NOT_NULL<Nothing>(arg0 = null)
  }

}

interface KotlinInterface : SequencedSet<Int> {
}

fun test(a: A, b: B, c: C, d: D, e: E, f: F, g: G, h: H, i: I, j: J) {
  a.reversed() /*~> Unit */
  a.getFirst() /*~> Unit */
  a.addFirst(p0 = 1)
  a.addLast(p0 = null)
  b.reversed() /*~> Unit */
  b.getFirst() /*~> Unit */
  b.addFirst(e = 1)
  b.addLast(p0 = null)
  c.reversed() /*~> Unit */
  c.getFirst() /*~> Unit */
  c.addFirst(p0 = 1)
  c.addLast(p0 = null)
  d.reversed() /*~> Unit */
  d.getFirst() /*~> Unit */
  d.addFirst(p0 = 1)
  d.addLast(p0 = null)
  e.reversed() /*~> Unit */
  e.getFirst() /*~> Unit */
  e.addFirst(p0 = 1)
  e.addLast(p0 = null)
  f.reversed() /*~> Unit */
  f.getFirst() /*~> Unit */
  f.addFirst(p0 = 1)
  f.addLast(p0 = null)
  g.reversed() /*~> Unit */
  g.getFirst() /*~> Unit */
  g.addFirst(p0 = 1)
  g.addLast(p0 = null)
  h.reversed() /*~> Unit */
  h.getFirst() /*~> Unit */
  h.addFirst(p0 = 1)
  h.addLast(p0 = null)
  i.reversed() /*~> Unit */
  i.getFirst() /*~> Unit */
  i.addFirst(p0 = 1)
  i.addLast(p0 = null)
  j.reversed() /*~> Unit */
  j.getFirst() /*~> Unit */
  j.addFirst(p0 = 1)
  j.addLast(p0 = null)
}
