Module aya.base

Interface Def

All Superinterfaces:
AyaDocile, GenericDef
All Known Implementing Classes:
CtorDef, DataDef, FieldDef, FnDef, PrimDef, StructDef, SubLevelDef, TopLevelDef, UserDef, UserDef.Type

public sealed interface Def extends AyaDocile, 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
    • telescope

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

      @NotNull default @NotNull org.aya.pretty.doc.Doc toDoc(@NotNull @NotNull org.aya.util.prettier.PrettierOptions options)
      Specified by:
      toDoc in interface AyaDocile