// A.class
// ------------------------------------------
public final class A<T#0 /* T */> : kotlin/Any {

  // signature: <init>()V
  public constructor()

  // signature: a(Ljava/lang/Object;)V
  public final fun <T#1 /* T */> a(t: T#1): kotlin/Unit

  // nested class: B

  // module name: test-module
}
// A$B.class
// ------------------------------------------
public final inner class A.B<T#1 /* U */, T#2 /* V */ : T#1> : kotlin/Any {

  // signature: <init>(LA;)V
  public constructor()

  // signature: b(Ljava/lang/Comparable;Ljava/lang/Object;Ljava/lang/Object;)V
  public final fun <T#3 /* T */ : kotlin/Comparable<T#3> & kotlin/Cloneable, T#4 /* U */> b(t: T#3, u: T#4, v: T#2): kotlin/Unit

  // signature: bb(Ljava/lang/Object;)V
  public final fun bb(t: T#0): kotlin/Unit

  // nested class: C

  // module name: test-module
}
// A$B$C.class
// ------------------------------------------
public final inner class A.B.C<T#3 /* T */, T#4 /* U */> : kotlin/Any {

  // signature: <init>(LA$B;)V
  public constructor()

  // signature: c(Ljava/lang/Object;Ljava/lang/Object;)V
  public final fun <T#5 /* T */, T#6 /* U */> c(t: T#5?, u: T#6?): kotlin/Unit

  // signature: cc(Ljava/lang/Object;Ljava/lang/Object;)V
  public final fun cc(t: T#3?, u: T#4?): kotlin/Unit

  // signature: z(LA$B$C;)V
  public final fun z(c: A<kotlin/Int>.B<kotlin/Any, kotlin/Byte>.C<kotlin/Unit, kotlin/Long>): kotlin/Unit

  // module name: test-module
}
// META-INF/test-module.kotlin_module
// ------------------------------------------
module {
}
