package lib;

public abstract class Prop<T> {

    public abstract int get(T key);

    public abstract void set(T key, int value);
}

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

package test;

/**
 * public final class test/Cl : kotlin/Any {
 *
 *   // signature: <init>(Ljava/lang/String;)V
 *   public constructor(name: kotlin/String)
 *
 *   // field: name:Ljava/lang/String;
 *   // getter: getName()Ljava/lang/String;
 *   // setter: setName(Ljava/lang/String;)V
 *   public final var name: kotlin/String
 *     public final get
 *     public final set
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public final class Cl {
    @org.jetbrains.annotations.NotNull()
    private java.lang.String name;

    public Cl(@org.jetbrains.annotations.NotNull()
    java.lang.String name) {
        super();
    }

    @org.jetbrains.annotations.NotNull()
    public final java.lang.String getName() {
        return null;
    }

    public final void setName(@org.jetbrains.annotations.NotNull()
    java.lang.String p0) {
    }
}

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

package test;

/**
 * package {
 *
 *   // field: TEST:Llib/Prop;
 *   // getter: getTEST()Llib/Prop;
 *   public final val TEST: lib/Prop<test/Cl>
 *     public final get
 *
 *   // field: TESTS_ARRAY:[Llib/Prop;
 *   // getter: getTESTS_ARRAY()[Llib/Prop;
 *   public final val TESTS_ARRAY: kotlin/Array<lib/Prop<test/Cl>>
 *     public final get
 *
 *   // field: TESTS_LIST:Ljava/util/List;
 *   // getter: getTESTS_LIST()Ljava/util/List;
 *   public final val TESTS_LIST: kotlin/collections/List<lib/Prop<test/Cl>>
 *     public final get
 *
 *   // module name: main
 * }
 */
@kotlin.Metadata()
public final class TestKt {
    @org.jetbrains.annotations.NotNull()
    private static final lib.Prop<test.Cl> TEST = null;
    @org.jetbrains.annotations.NotNull()
    private static final lib.Prop<test.Cl>[] TESTS_ARRAY = null;
    @org.jetbrains.annotations.NotNull()
    private static final java.util.List<lib.Prop<test.Cl>> TESTS_LIST = null;

    @org.jetbrains.annotations.NotNull()
    public static final lib.Prop<test.Cl> getTEST() {
        return null;
    }

    @org.jetbrains.annotations.NotNull()
    public static final lib.Prop<test.Cl>[] getTESTS_ARRAY() {
        return null;
    }

    @org.jetbrains.annotations.NotNull()
    public static final java.util.List<lib.Prop<test.Cl>> getTESTS_LIST() {
        return null;
    }
}
