模块 org.aya
程序包 org.aya.core.def

接口 Def

所有超级接口:
org.aya.util.distill.AyaDocile
所有已知实现类:
CtorDef, DataDef, FieldDef, FnDef, PrimDef, StructDef, SubLevelDef, TopLevelDef, UserDef, UserDef.Type

public sealed interface Def extends org.aya.util.distill.AyaDocile permits SubLevelDef, TopLevelDef
  • 嵌套类概要

    嵌套类
    修饰符和类型
    接口
    说明
    static final record 
    Signature of a definition, used in concrete and tycking.
    static interface 
     
  • 方法概要

    修饰符和类型
    方法
    说明
    <P, R> R
    accept(@NotNull Def.Visitor<P,R> visitor, P p)
     
    static @NotNull kala.collection.Seq<CtorDef>
    dataBody(@NotNull DefVar<? extends DataDef,? extends Decl.DataDecl> defVar)
     
    static @NotNull Term
    defResult(@NotNull DefVar<?,?> defVar)
     
    static @NotNull kala.collection.immutable.ImmutableSeq<Term.Param>
    defTele(@NotNull DefVar<?,?> defVar)
     
    static @NotNull Term
    defType(@NotNull DefVar<?,?> defVar)
     
    @NotNull DefVar<?,?>
    ref()
     
    @NotNull Term
     
    static @NotNull kala.collection.immutable.ImmutableSeq<Term.Param>
    substParams(@NotNull kala.collection.SeqLike<@NotNull Term.Param> param, @NotNull Subst subst)
     
    @NotNull kala.collection.immutable.ImmutableSeq<Term.Param>
     
    default @NotNull org.aya.pretty.doc.Doc
    toDoc(@NotNull org.aya.util.distill.DistillerOptions options)
     

    从接口继承的方法 org.aya.util.distill.AyaDocile

    debuggerOnlyToDoc
  • 方法详细资料

    • defType

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

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

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

      @NotNull static @NotNull Term defResult(@NotNull @NotNull DefVar<?,?> 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)
    • result

      @NotNull @NotNull Term result()
    • ref

      @NotNull @NotNull DefVar<?,?> ref()
    • telescope

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

      <P, R> R accept(@NotNull @NotNull Def.Visitor<P,R> visitor, P p)
    • toDoc

      @NotNull default @NotNull org.aya.pretty.doc.Doc toDoc(@NotNull @NotNull org.aya.util.distill.DistillerOptions options)
      指定者:
      toDoc 在接口中 org.aya.util.distill.AyaDocile