java.lang.Object
java.lang.Record
org.aya.resolve.visitor.ExprResolver
- 记录组件:
allowedGeneralizes- will be filled with generalized vars if allowGeneralized, and represents the allowed generalized level vars otherwise
- 所有已实现的接口:
Expr.Visitor<Context,@NotNull Expr>
public record ExprResolver(@NotNull ExprResolver.Options options, @NotNull kala.collection.mutable.MutableMap<GeneralizedVar,Expr.Param> allowedGeneralizes, @NotNull kala.collection.mutable.MutableList<TyckOrder> reference, @NotNull kala.collection.mutable.MutableStack<org.aya.resolve.visitor.ExprResolver.Where> where, @Nullable Consumer<TyckUnit> parentAdd)
extends Record
implements Expr.Visitor<Context,@NotNull Expr>
Resolves bindings.
- 另请参阅:
- Implementation Requirements:
- allowedGeneralizes must be linked map
-
嵌套类概要
嵌套类 -
字段概要
字段 -
构造器概要
构造器构造器说明ExprResolver(@NotNull ExprResolver.Options options) ExprResolver(@NotNull ExprResolver.Options options, @NotNull kala.collection.mutable.MutableMap<GeneralizedVar, Expr.Param> allowedGeneralizes, @NotNull kala.collection.mutable.MutableList<TyckOrder> reference, @NotNull kala.collection.mutable.MutableStack<org.aya.resolve.visitor.ExprResolver.Where> where, @Nullable Consumer<TyckUnit> parentAdd) 创建ExprResolver记录的实例。 -
方法概要
修饰符和类型方法说明@NotNull kala.collection.mutable.MutableMap<GeneralizedVar,Expr.Param> 返回allowedGeneralizes记录组件的值。@NotNull ExprResolverbody()voidvoidfinal boolean指示某个其他对象是否“等于”此对象。final inthashCode()返回此对象的哈希代码值。@NotNull ExprResolver@NotNull ExprResolver.Optionsoptions()返回options记录组件的值。返回parentAdd记录组件的值。@NotNull kala.collection.mutable.MutableList<TyckOrder>返回reference记录组件的值。@NotNull kala.tuple.Tuple2<kala.collection.SeqView<Expr.Param>,Context> resolveParams(@NotNull kala.collection.SeqLike<Expr.Param> params, Context ctx) final StringtoString()返回此记录的字符串表示形式。@NotNull ExprvisitApp(@NotNull Expr.AppExpr expr, Context p) @NotNull ExprvisitBinOpSeq(@NotNull Expr.BinOpSeq binOpSeq, Context p) @NotNull ExprvisitError(@NotNull Expr.ErrorExpr error, Context p) @NotNull Expr.FieldvisitField(@NotNull Expr.Field t, Context context) @NotNull ExprvisitHole(Expr.HoleExpr expr, Context context) @NotNull ExprvisitLam(Expr.LamExpr expr, Context ctx) @NotNull ExprvisitLift(@NotNull Expr.LiftExpr expr, Context p) @NotNull ExprvisitLitInt(@NotNull Expr.LitIntExpr expr, Context p) @NotNull ExprvisitLitString(@NotNull Expr.LitStringExpr expr, Context p) @NotNull ExprvisitMetaPat(@NotNull Expr.MetaPat metaPat, Context p) @NotNull ExprvisitNew(@NotNull Expr.NewExpr expr, Context p) @NotNull kala.tuple.Tuple2<Expr.Param,Context> visitParam(Expr.Param param, Context ctx) @NotNull kala.collection.immutable.ImmutableSeq<@NotNull Expr.Param>visitParams(@NotNull kala.collection.immutable.ImmutableSeq<@NotNull Expr.Param> params, Context p) @NotNull ExprvisitPi(Expr.PiExpr expr, Context ctx) @NotNull ExprvisitProj(Expr.ProjExpr expr, Context context) @NotNull ExprvisitRawUniv(@NotNull Expr.RawUnivExpr expr, Context p) @NotNull ExprvisitRef(@NotNull Expr.RefExpr expr, Context p) @NotNull ExprvisitSigma(Expr.SigmaExpr expr, Context ctx) @NotNull ExprvisitTup(@NotNull Expr.TupExpr expr, Context p) @NotNull ExprvisitUniv(@NotNull Expr.UnivExpr expr, Context p) @NotNull ExprvisitUnresolved(Expr.UnresolvedExpr expr, Context ctx) @NotNull kala.collection.mutable.MutableStack<org.aya.resolve.visitor.ExprResolver.Where>where()返回where记录组件的值。从接口继承的方法 org.aya.concrete.Expr.Visitor
traceEntrance, traceExit
-
字段详细资料
-
RESTRICTIVE
-
LAX
-
-
构造器详细资料
-
ExprResolver
-
ExprResolver
public ExprResolver(@NotNull @NotNull ExprResolver.Options options, @NotNull @NotNull kala.collection.mutable.MutableMap<GeneralizedVar, Expr.Param> allowedGeneralizes, @NotNull @NotNull kala.collection.mutable.MutableList<TyckOrder> reference, @NotNull @NotNull kala.collection.mutable.MutableStack<org.aya.resolve.visitor.ExprResolver.Where> where, @Nullable @Nullable Consumer<TyckUnit> parentAdd) 创建ExprResolver记录的实例。- 参数:
options-options记录组件的值allowedGeneralizes-allowedGeneralizes记录组件的值reference-reference记录组件的值where-where记录组件的值parentAdd-parentAdd记录组件的值
-
-
方法详细资料
-
visitRef
- 指定者:
visitRef在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitParams
@NotNull public @NotNull kala.collection.immutable.ImmutableSeq<@NotNull Expr.Param> visitParams(@NotNull @NotNull kala.collection.immutable.ImmutableSeq<@NotNull Expr.Param> params, Context p) -
visitError
- 指定者:
visitError在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitRawUniv
- 指定者:
visitRawUniv在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitMetaPat
- 指定者:
visitMetaPat在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitLift
- 指定者:
visitLift在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitUniv
- 指定者:
visitUniv在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitApp
- 指定者:
visitApp在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitTup
- 指定者:
visitTup在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitNew
- 指定者:
visitNew在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitLitInt
- 指定者:
visitLitInt在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitLitString
- 指定者:
visitLitString在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitBinOpSeq
- 指定者:
visitBinOpSeq在接口中Expr.Visitor<Context,@NotNull Expr>
-
enterHead
public void enterHead() -
enterBody
public void enterBody() -
member
-
body
-
visitUnresolved
- 指定者:
visitUnresolved在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitProj
- 指定者:
visitProj在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitParam
@NotNull public @NotNull kala.tuple.Tuple2<Expr.Param,Context> visitParam(@NotNull Expr.Param param, Context ctx) -
resolveParams
@Contract(pure=true) @NotNull public @NotNull kala.tuple.Tuple2<kala.collection.SeqView<Expr.Param>,Context> resolveParams(@NotNull @NotNull kala.collection.SeqLike<Expr.Param> params, Context ctx) -
visitLam
- 指定者:
visitLam在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitField
-
visitPi
- 指定者:
visitPi在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitSigma
- 指定者:
visitSigma在接口中Expr.Visitor<Context,@NotNull Expr>
-
visitHole
- 指定者:
visitHole在接口中Expr.Visitor<Context,@NotNull Expr>
-
toString
返回此记录的字符串表示形式。此表示形式包含类型的名称,后跟每个记录组件的名称和值。 -
hashCode
public final int hashCode()返回此对象的哈希代码值。此值派生自每个记录组件的哈希代码。 -
equals
指示某个其他对象是否“等于”此对象。如果两个对象属于同一个类,而且所有记录组件都相等,则这两个对象相等。 此记录中的所有组件都使用Objects::equals(Object,Object)进行比较。 -
options
返回options记录组件的值。- 返回:
options记录组件的值
-
allowedGeneralizes
@NotNull public @NotNull kala.collection.mutable.MutableMap<GeneralizedVar,Expr.Param> allowedGeneralizes()返回allowedGeneralizes记录组件的值。- 返回:
allowedGeneralizes记录组件的值
-
reference
返回reference记录组件的值。- 返回:
reference记录组件的值
-
where
@NotNull public @NotNull kala.collection.mutable.MutableStack<org.aya.resolve.visitor.ExprResolver.Where> where()返回where记录组件的值。- 返回:
where记录组件的值
-
parentAdd
返回parentAdd记录组件的值。- 返回:
parentAdd记录组件的值
-