package de.dhbwstuttgart.target.generate;

import de.dhbwstuttgart.syntaxtree.type.RefTypeOrTPHOrWildcardOrGeneric;
import de.dhbwstuttgart.syntaxtree.type.TypePlaceholder;

import java.util.List;

public record Bound(boolean isOnMethod, RefTypeOrTPHOrWildcardOrGeneric bound) {
    public static Bound onMethod(String tph) {
        return new Bound(true, TypePlaceholder.of(tph));
    }

    public static Bound onMethod(RefTypeOrTPHOrWildcardOrGeneric bound) {
        return new Bound(true, bound);
    }

    public static Bound onClass(String tph) {
        return new Bound(false, TypePlaceholder.of(tph));
    }

    public static Bound onClass(RefTypeOrTPHOrWildcardOrGeneric bound) {
        return new Bound(false, bound);
    }
}
