Module: lib @kotlin.Metadata public interface Foo { // source: 'Foo.kt' public method foo(p0: java.lang.Object): java.lang.Object } @kotlin.Metadata public interface Foo2 { // source: 'Foo.kt' public method foo(p0: java.lang.Object): java.lang.Object } Module: main @kotlin.Metadata public final class DerivedClass { // source: 'main.kt' public method (): void } @kotlin.Metadata public final class DerivedClassWithSpecialization { // source: 'main.kt' public method (): void public @org.jetbrains.annotations.NotNull method foo(@org.jetbrains.annotations.NotNull p0: java.lang.String): java.lang.String public synthetic bridge method foo(p0: java.lang.Object): java.lang.Object } @kotlin.Metadata public final class DerivedInterface$DefaultImpls { // source: 'main.kt' public static method foo(@org.jetbrains.annotations.NotNull p0: DerivedInterface, p1: java.lang.Object): java.lang.Object public final inner class DerivedInterface$DefaultImpls } @kotlin.Metadata public interface DerivedInterface { // source: 'main.kt' public abstract method foo(p0: java.lang.Object): java.lang.Object public final inner class DerivedInterface$DefaultImpls } @kotlin.Metadata public final class MainKt { // source: 'main.kt' public final static @org.jetbrains.annotations.NotNull method box(): java.lang.String }