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 Decl.Telescopic<?>> defVar)
    • defTele

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

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

      @NotNull static @NotNull Term defResult(@NotNull @NotNull DefVar<? extends Def,? extends Decl.Telescopic<?>> defVar)
    • substParams

      @NotNull static @NotNull kala.collection.immutable.ImmutableSeq<Term.Param> substParams(@NotNull @NotNull kala.collection.SeqLike<@NotNull Term.Param> param, @NotNull @NotNull Subst subst)
    • 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.distill.DistillerOptions options)
      Specified by:
      toDoc in interface AyaDocile