@kotlin.Metadata public class A { public method (): void public final @org.jetbrains.annotations.NotNull method foo(@org.jetbrains.annotations.NotNull p0: A): java.lang.String public final @org.jetbrains.annotations.NotNull method foo(p0: java.lang.Object): java.lang.String } @kotlin.Metadata public final class B { public method (): void } @kotlin.Metadata public interface C { public abstract @org.jetbrains.annotations.NotNull method foo(@org.jetbrains.annotations.NotNull p0: A): java.lang.String public abstract @org.jetbrains.annotations.NotNull method foo(p0: java.lang.Object): java.lang.String } @kotlin.Metadata public interface D { public abstract @org.jetbrains.annotations.NotNull method foo(@org.jetbrains.annotations.NotNull p0: A): java.lang.String } @kotlin.Metadata public final class DifferentErasureInSuperClassComplexKt { public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String }