模块 aya.base

记录类 Term.Param

java.lang.Object
java.lang.Record
org.aya.core.term.Term.Param
所有已实现的接口:
AyaDocile, ParamLike<Term>
封闭接口:
Term

public static record Term.Param(@NotNull LocalVar ref, @NotNull Term type, boolean explicit) extends Record implements ParamLike<Term>
  • 构造器详细资料

    • Param

      public Param(@NotNull @NotNull ParamLike<?> param, @NotNull @NotNull Term type)
    • Param

      public Param(@NotNull @NotNull LocalVar ref, @NotNull @NotNull Term type, boolean explicit)
      创建 Param 记录类的实例。
      参数:
      ref - ref 记录组件的值
      type - type 记录组件的值
      explicit - explicit 记录组件的值
  • 方法详细资料

    • fromBuffer

      @NotNull public static @NotNull kala.collection.immutable.ImmutableSeq<@NotNull Term.Param> fromBuffer(@NotNull @NotNull kala.collection.mutable.MutableList<kala.tuple.Tuple3<LocalVar,Boolean,Term>> buf)
    • descent

      @NotNull public @NotNull Term.Param descent(@NotNull @NotNull Function<@NotNull Term,@NotNull Term> f)
    • implicitify

      @Contract(" -> new") @NotNull public @NotNull Term.Param implicitify()
    • rename

      @Contract(" -> new") @NotNull public @NotNull Term.Param rename()
    • renameVar

      @Contract(" -> new") @NotNull public @NotNull LocalVar renameVar()
    • toArg

      @Contract(" -> new") @NotNull public @NotNull Arg<@NotNull Term> toArg()
    • toTerm

      @Contract(" -> new") @NotNull public @NotNull RefTerm toTerm()
    • toPat

      @NotNull public @NotNull Pat toPat()
    • subst

      @NotNull public @NotNull Term.Param subst(@NotNull @NotNull AnyVar var, @NotNull @NotNull Term term)
    • subst

      @NotNull public @NotNull Term.Param subst(@NotNull @NotNull Subst subst)
    • subst

      @NotNull public static @NotNull kala.collection.immutable.ImmutableSeq<Term.Param> subst(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<@NotNull Term.Param> params, @NotNull @NotNull Subst subst, int ulift)
    • subst

      @NotNull public static @NotNull kala.collection.immutable.ImmutableSeq<Term.Param> subst(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<@NotNull Term.Param> params, int ulift)
    • subst

      @NotNull public @NotNull Term.Param subst(@NotNull @NotNull Subst subst, int ulift)
    • toString

      public final String toString()
      返回此记录类的字符串表示形式。此表示形式包含类的名称,后跟每个记录组件的名称和值。
      指定者:
      toString 在类中 Record
      返回:
      此对象的字符串表示形式
    • hashCode

      public final int hashCode()
      返回此对象的哈希代码值。此值派生自每个记录组件的哈希代码。
      指定者:
      hashCode 在类中 Record
      返回:
      此对象的哈希代码值
    • equals

      public final boolean equals(Object o)
      指示某个其他对象是否“等于”此对象。如果两个对象属于同一个类,而且所有记录组件都相等,则这两个对象相等。 使用 Objects::equals(Object,Object) 对参考组件进行比较;使用 '==' 对基元组件进行比较
      指定者:
      equals 在类中 Record
      参数:
      o - 要与之进行比较的对象
      返回:
      如果此对象与 o 参数相同,则为 true;否则为 false
    • ref

      @NotNull public @NotNull LocalVar ref()
      返回 ref 记录组件的值。
      指定者:
      ref 在接口中 ParamLike<Term>
      返回:
      ref 记录组件的值
    • type

      @NotNull public @NotNull Term type()
      返回 type 记录组件的值。
      指定者:
      type 在接口中 ParamLike<Term>
      返回:
      type 记录组件的值
    • explicit

      public boolean explicit()
      返回 explicit 记录组件的值。
      指定者:
      explicit 在接口中 ParamLike<Term>
      返回:
      explicit 记录组件的值