/** * public final class AnotherRootClass : kotlin/Any { * * // signature: ()V * public constructor() * * // module name: main * } */ @kotlin.Metadata() public final class AnotherRootClass { public AnotherRootClass() { super(); } } //////////////////// /** * public final class RootClass : kotlin/Any { * * // signature: ()V * public constructor() * * // module name: main * } */ @kotlin.Metadata() public final class RootClass { public RootClass() { super(); } } //////////////////// package test; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import java.lang.annotation.ElementType; @Target(value = {ElementType.TYPE, ElementType.METHOD}) @Retention(value = RetentionPolicy.RUNTIME) public @interface ClassRefAnnotation { Class[] value(); } //////////////////// package test; /** * public abstract interface test/PackedClass : kotlin/Any { * * // signature: oneMoreMethod()LAnotherRootClass; * public abstract fun oneMoreMethod(): AnotherRootClass * * // signature: otherMethod()Ljava/lang/Number; * public abstract fun otherMethod(): java/lang/Number * * // signature: someMethod()LRootClass; * public abstract fun someMethod(): RootClass * * // module name: main * } */ @kotlin.Metadata() public abstract interface PackedClass { @org.jetbrains.annotations.NotNull() public abstract RootClass someMethod(); @org.jetbrains.annotations.NotNull() public abstract java.lang.Number otherMethod(); @org.jetbrains.annotations.NotNull() public abstract AnotherRootClass oneMoreMethod(); } //////////////////// package test; @ClassRefAnnotation(value = {RootClass.class}) /** * public final class test/PackedWithAnnotation : kotlin/Any { * * // signature: ()V * public constructor() * * // module name: main * } */ @kotlin.Metadata() public final class PackedWithAnnotation { public PackedWithAnnotation() { super(); } }