@kotlin.Metadata()
public final class AnotherRootClass {

    public AnotherRootClass() {
        super();
    }
}

////////////////////


@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;

@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})
@kotlin.Metadata()
public final class PackedWithAnnotation {

    public PackedWithAnnotation() {
        super();
    }
}
