模块 org.aya
程序包 org.aya.distill

类 BaseDistiller<Term extends org.aya.util.distill.AyaDocile>

java.lang.Object
org.aya.distill.BaseDistiller<Term>
直接已知子类:
ConcreteDistiller, CoreDistiller

public abstract class BaseDistiller<Term extends org.aya.util.distill.AyaDocile> extends Object
  • 嵌套类概要

    嵌套类
    修饰符和类型
    说明
    protected static interface 
    BaseDistiller.Fmt<T extends org.aya.util.distill.AyaDocile>
     
    static enum 
    Expression: where am I?
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    static final @NotNull org.aya.pretty.doc.Style
     
    static final @NotNull org.aya.pretty.doc.Style
     
    static final @NotNull org.aya.pretty.doc.Style
     
    static final @NotNull org.aya.pretty.doc.Style
     
    static final @NotNull org.aya.pretty.doc.Style
     
    static final @NotNull org.aya.pretty.doc.Style
     
    final @NotNull org.aya.util.distill.DistillerOptions
     
    static final @NotNull org.aya.pretty.doc.Style
     
  • 构造器概要

    构造器
    限定符
    构造器
    说明
    protected
    BaseDistiller(@NotNull org.aya.util.distill.DistillerOptions options)
     
  • 方法概要

    修饰符和类型
    方法
    说明
    static @NotNull org.aya.pretty.doc.Doc
    checkParen(@NotNull BaseDistiller.Outer outer, @NotNull org.aya.pretty.doc.Doc binApp, @NotNull BaseDistiller.Outer binOp)
     
    protected static @Nullable org.aya.pretty.doc.Style
    chooseStyle(Object concrete)
     
    static @NotNull org.aya.pretty.doc.Doc
    defVar(DefVar<?,?> ref)
     
    static @NotNull org.aya.pretty.doc.Doc
    linkDef(@NotNull Var ref)
     
    static @NotNull org.aya.pretty.doc.Doc
    linkDef(@NotNull Var ref, @NotNull org.aya.pretty.doc.Style color)
     
    static @NotNull org.aya.pretty.doc.Doc
    linkRef(@NotNull Var ref, @NotNull org.aya.pretty.doc.Style color)
     
    protected abstract @NotNull org.aya.pretty.doc.Doc
    term(@NotNull BaseDistiller.Outer outer, Term term)
     
    static @NotNull org.aya.pretty.doc.Doc
    varDoc(@NotNull Var ref)
     
    @NotNull org.aya.pretty.doc.Doc
    visitArgsCalls(@NotNull DefVar<?,?> var, @NotNull org.aya.pretty.doc.Style style, @NotNull kala.collection.SeqLike<@NotNull Arg<Term>> args, @NotNull BaseDistiller.Outer outer)
     
    @NotNull org.aya.pretty.doc.Doc
    visitCalls(boolean infix, @NotNull org.aya.pretty.doc.Doc fn, @NotNull kala.collection.SeqView<@NotNull Arg<Term>> args, @NotNull BaseDistiller.Outer outer, boolean showImplicits)
     
    @NotNull org.aya.pretty.doc.Doc
    visitCalls(@NotNull DefVar<?,?> var, @NotNull org.aya.pretty.doc.Style style, @NotNull kala.collection.SeqLike<@NotNull Arg<Term>> args, @NotNull BaseDistiller.Outer outer, boolean showImplicits)
     
    @NotNull org.aya.pretty.doc.Doc
    visitTele(@NotNull kala.collection.Seq<? extends ParamLike<Term>> telescope)
    Pretty-print a telescope in a dumb (but conservative) way.
    @NotNull org.aya.pretty.doc.Doc
    visitTele(@NotNull kala.collection.Seq<? extends ParamLike<Term>> telescope, Term body, @NotNull ToIntBiFunction<Term,Var> altF7)
    Pretty-print a telescope in a smart way.

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 字段详细资料

    • KEYWORD

      @NotNull public static final @NotNull org.aya.pretty.doc.Style KEYWORD
    • FN_CALL

      @NotNull public static final @NotNull org.aya.pretty.doc.Style FN_CALL
    • DATA_CALL

      @NotNull public static final @NotNull org.aya.pretty.doc.Style DATA_CALL
    • STRUCT_CALL

      @NotNull public static final @NotNull org.aya.pretty.doc.Style STRUCT_CALL
    • CON_CALL

      @NotNull public static final @NotNull org.aya.pretty.doc.Style CON_CALL
    • FIELD_CALL

      @NotNull public static final @NotNull org.aya.pretty.doc.Style FIELD_CALL
    • GENERALIZED

      @NotNull public static final @NotNull org.aya.pretty.doc.Style GENERALIZED
    • options

      @NotNull public final @NotNull org.aya.util.distill.DistillerOptions options
  • 构造器详细资料

    • BaseDistiller

      protected BaseDistiller(@NotNull @NotNull org.aya.util.distill.DistillerOptions options)
  • 方法详细资料

    • term

      @NotNull protected abstract @NotNull org.aya.pretty.doc.Doc term(@NotNull @NotNull BaseDistiller.Outer outer, @NotNull Term term)
    • visitCalls

      @NotNull public @NotNull org.aya.pretty.doc.Doc visitCalls(boolean infix, @NotNull @NotNull org.aya.pretty.doc.Doc fn, @NotNull @NotNull kala.collection.SeqView<@NotNull Arg<Term>> args, @NotNull @NotNull BaseDistiller.Outer outer, boolean showImplicits)
    • visitCalls

      @NotNull public @NotNull org.aya.pretty.doc.Doc visitCalls(@NotNull @NotNull DefVar<?,?> var, @NotNull @NotNull org.aya.pretty.doc.Style style, @NotNull @NotNull kala.collection.SeqLike<@NotNull Arg<Term>> args, @NotNull @NotNull BaseDistiller.Outer outer, boolean showImplicits)
    • visitArgsCalls

      @NotNull public @NotNull org.aya.pretty.doc.Doc visitArgsCalls(@NotNull @NotNull DefVar<?,?> var, @NotNull @NotNull org.aya.pretty.doc.Style style, @NotNull @NotNull kala.collection.SeqLike<@NotNull Arg<Term>> args, @NotNull @NotNull BaseDistiller.Outer outer)
    • checkParen

      @NotNull public static @NotNull org.aya.pretty.doc.Doc checkParen(@NotNull @NotNull BaseDistiller.Outer outer, @NotNull @NotNull org.aya.pretty.doc.Doc binApp, @NotNull @NotNull BaseDistiller.Outer binOp)
    • visitTele

      @NotNull public @NotNull org.aya.pretty.doc.Doc visitTele(@NotNull @NotNull kala.collection.Seq<? extends ParamLike<Term>> telescope)
      Pretty-print a telescope in a dumb (but conservative) way.
      另请参阅:
    • visitTele

      @NotNull public @NotNull org.aya.pretty.doc.Doc visitTele(@NotNull @NotNull kala.collection.Seq<? extends ParamLike<Term>> telescope, @Nullable Term body, @NotNull @NotNull ToIntBiFunction<Term,Var> altF7)
      Pretty-print a telescope in a smart way. The bindings that are not used in the telescope/body are omitted. Bindings of the same type (by 'same' I mean Objects.equals returns true) are merged together.
      参数:
      body - the body of the telescope (like the return type in a pi type), only used for finding usages (of the variables in the telescope).
      altF7 - a function for finding usages.
      另请参阅:
    • varDoc

      @NotNull public static @NotNull org.aya.pretty.doc.Doc varDoc(@NotNull @NotNull Var ref)
    • linkDef

      @NotNull public static @NotNull org.aya.pretty.doc.Doc linkDef(@NotNull @NotNull Var ref, @NotNull @NotNull org.aya.pretty.doc.Style color)
    • linkRef

      @NotNull public static @NotNull org.aya.pretty.doc.Doc linkRef(@NotNull @NotNull Var ref, @NotNull @NotNull org.aya.pretty.doc.Style color)
    • linkDef

      @NotNull public static @NotNull org.aya.pretty.doc.Doc linkDef(@NotNull @NotNull Var ref)
    • defVar

      @NotNull public static @NotNull org.aya.pretty.doc.Doc defVar(DefVar<?,?> ref)
    • chooseStyle

      @Nullable protected static @Nullable org.aya.pretty.doc.Style chooseStyle(Object concrete)