Module aya.base

Interface Def

All Superinterfaces:
AyaDocile, GenericDef
All Known Implementing Classes:
CtorDef, DataDef, FnDef, MemberDef, PrimDef, SubLevelDef, TopLevelDef, UserDef

public sealed interface Def extends GenericDef permits SubLevelDef, TopLevelDef<Ret>
  • Method Details

    • defType

      @NotNull static @NotNull Term defType(@NotNull @NotNull DefVar<? extends Def,? extends TeleDecl<?>> defVar)
    • defTele

      @NotNull static @NotNull kala.collection.immutable.ImmutableSeq<Term.Param> defTele(@NotNull @NotNull DefVar<? extends Def,? extends TeleDecl<?>> defVar)
    • dataBody

      @NotNull static @NotNull kala.collection.Seq<CtorDef> dataBody(@NotNull @NotNull DefVar<? extends DataDef,? extends TeleDecl.DataDecl> defVar)
    • defResult

      @Contract(pure=true) @NotNull static <T extends Term> T defResult(@NotNull @NotNull DefVar<? extends Def,? extends TeleDecl<? extends T>> defVar)
    • ref

      @NotNull @NotNull DefVar<? extends Def,? extends Decl> ref()
      Specified by:
      ref in interface GenericDef
    • result

      @NotNull @NotNull Term result()
    • telescope

      @NotNull @NotNull kala.collection.immutable.ImmutableSeq<Term.Param> telescope()