Module aya.base

Record Class ResolveInfo

java.lang.Object
java.lang.Record
org.aya.resolve.ResolveInfo
Record Components:
thisModule - context of the underlying module
primFactory - globally shared prim definition data
shapeFactory - shapes local to this module
opSet - operators local to this module
opRename - open/import renames with operators
depGraph - local to this module

public record ResolveInfo(@NotNull ModuleContext thisModule, @NotNull PrimFactory primFactory, @NotNull ShapeFactory shapeFactory, @NotNull AyaBinOpSet opSet, @NotNull kala.collection.mutable.MutableMap<org.aya.syntax.core.def.AnyDef,ResolveInfo.OpRenameInfo> opRename, @NotNull kala.collection.mutable.MutableMap<org.aya.syntax.concrete.stmt.ModuleName.Qualified,ResolveInfo.ImportInfo> imports, @NotNull kala.collection.mutable.MutableMap<org.aya.syntax.concrete.stmt.ModuleName.Qualified,org.aya.syntax.concrete.stmt.UseHide> reExports, @NotNull org.aya.util.terck.MutableGraph<org.aya.generic.stmt.TyckOrder> depGraph) extends Record
  • Constructor Details

    • ResolveInfo

      public ResolveInfo(@NotNull @NotNull ModuleContext thisModule, @NotNull @NotNull PrimFactory primFactory, @NotNull @NotNull ShapeFactory shapeFactory)
    • ResolveInfo

      public ResolveInfo(@NotNull @NotNull ModuleContext thisModule, @NotNull @NotNull PrimFactory primFactory, @NotNull @NotNull ShapeFactory shapeFactory, @NotNull @NotNull AyaBinOpSet opSet)
    • ResolveInfo

      public ResolveInfo(@NotNull @NotNull ModuleContext thisModule, @NotNull @NotNull PrimFactory primFactory, @NotNull @NotNull ShapeFactory shapeFactory, @NotNull @NotNull AyaBinOpSet opSet, @NotNull @NotNull kala.collection.mutable.MutableMap<org.aya.syntax.core.def.AnyDef,ResolveInfo.OpRenameInfo> opRename, @NotNull @NotNull kala.collection.mutable.MutableMap<org.aya.syntax.concrete.stmt.ModuleName.Qualified,ResolveInfo.ImportInfo> imports, @NotNull @NotNull kala.collection.mutable.MutableMap<org.aya.syntax.concrete.stmt.ModuleName.Qualified,org.aya.syntax.concrete.stmt.UseHide> reExports, @NotNull @NotNull org.aya.util.terck.MutableGraph<org.aya.generic.stmt.TyckOrder> depGraph)
      Creates an instance of a ResolveInfo record class.
      Parameters:
      thisModule - the value for the thisModule record component
      primFactory - the value for the primFactory record component
      shapeFactory - the value for the shapeFactory record component
      opSet - the value for the opSet record component
      opRename - the value for the opRename record component
      imports - the value for the imports record component
      reExports - the value for the reExports record component
      depGraph - the value for the depGraph record component
  • Method Details

    • newTycker

      public ExprTycker newTycker()
    • newTycker

      public ExprTycker newTycker(@NotNull @NotNull org.aya.util.reporter.Reporter reporter)
    • makeTyckState

      @NotNull public @NotNull TyckState makeTyckState()
    • resolveOpDecl

      @Nullable public @Nullable org.aya.util.binop.OpDecl resolveOpDecl(org.aya.syntax.ref.AnyVar var)
    • resolveOpDecl

      @NotNull public @NotNull org.aya.util.binop.OpDecl resolveOpDecl(org.aya.syntax.core.def.AnyDef defVar)
    • renameOp

      public void renameOp(@NotNull @NotNull Context bindCtx, @NotNull @NotNull org.aya.syntax.core.def.AnyDef defVar, @NotNull @NotNull ResolveInfo.RenamedOpDecl renamed, @NotNull @NotNull org.aya.syntax.concrete.stmt.BindBlock bind, boolean reExport)
      Parameters:
      reExport - if this operator is renamed in this module, then true, or if publicly renamed by upstream, then false.
      See Also:
    • open

      public void open(@NotNull @NotNull ResolveInfo other, @NotNull @NotNull org.aya.util.error.SourcePos sourcePos, @NotNull org.aya.syntax.concrete.stmt.Stmt.Accessibility acc)
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. All components in this record class are compared with Objects::equals(Object,Object).
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • thisModule

      @NotNull public @NotNull ModuleContext thisModule()
      Returns the value of the thisModule record component.
      Returns:
      the value of the thisModule record component
    • primFactory

      @NotNull public @NotNull PrimFactory primFactory()
      Returns the value of the primFactory record component.
      Returns:
      the value of the primFactory record component
    • shapeFactory

      @NotNull public @NotNull ShapeFactory shapeFactory()
      Returns the value of the shapeFactory record component.
      Returns:
      the value of the shapeFactory record component
    • opSet

      @NotNull public @NotNull AyaBinOpSet opSet()
      Returns the value of the opSet record component.
      Returns:
      the value of the opSet record component
    • opRename

      @NotNull public @NotNull kala.collection.mutable.MutableMap<org.aya.syntax.core.def.AnyDef,ResolveInfo.OpRenameInfo> opRename()
      Returns the value of the opRename record component.
      Returns:
      the value of the opRename record component
    • imports

      @NotNull public @NotNull kala.collection.mutable.MutableMap<org.aya.syntax.concrete.stmt.ModuleName.Qualified,ResolveInfo.ImportInfo> imports()
      Returns the value of the imports record component.
      Returns:
      the value of the imports record component
    • reExports

      @NotNull public @NotNull kala.collection.mutable.MutableMap<org.aya.syntax.concrete.stmt.ModuleName.Qualified,org.aya.syntax.concrete.stmt.UseHide> reExports()
      Returns the value of the reExports record component.
      Returns:
      the value of the reExports record component
    • depGraph

      @NotNull public @NotNull org.aya.util.terck.MutableGraph<org.aya.generic.stmt.TyckOrder> depGraph()
      Returns the value of the depGraph record component.
      Returns:
      the value of the depGraph record component