public final class foo/FooClass : java/lang/Object {
    public void <init>()

    public final java.lang.Object foo(java.lang.String s, int x)
      @Lkotlin/jvm/JvmOverloads;([]) // invisible
      @Lorg/jetbrains/annotations/Nullable;([]) // invisible
      @Lfoo/TypeAnn;([name="return"]) : METHOD_RETURN, null
      @Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
      @Lfoo/TypeAnn;([name="2"]) : METHOD_FORMAL_PARAMETER 1, null
        @Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0

    public final java.lang.Object foo(java.lang.String s)
      @Lkotlin/jvm/JvmOverloads;([]) // invisible
      @Lorg/jetbrains/annotations/Nullable;([]) // invisible
      @Lfoo/TypeAnn;([name="return"]) : METHOD_RETURN, null
      @Lfoo/TypeAnn;([name="1"]) : METHOD_FORMAL_PARAMETER 0, null
        @Lorg/jetbrains/annotations/NotNull;([]) // invisible, parameter 0

    public final java.lang.Object foo()
      @Lkotlin/jvm/JvmOverloads;([]) // invisible
      @Lorg/jetbrains/annotations/Nullable;([]) // invisible
      @Lfoo/TypeAnn;([name="return"]) : METHOD_RETURN, null

    public static java.lang.Object foo$default(foo.FooClass p0, java.lang.String p1, int p2, int p3, java.lang.Object p4)
}

public abstract interface foo/TypeAnn : java/lang/Object, java/lang/annotation/Annotation {
    public abstract java.lang.String name()
}
