Module aya.base

Interface ModuleLoader

All Superinterfaces:
Problematic
All Known Implementing Classes:
CachedModuleLoader, DumbModuleLoader, FileModuleLoader, ModuleListLoader

public interface ModuleLoader extends Problematic
  • Method Details

    • tyckModule

      @NotNull default <E extends Exception> @NotNull ResolveInfo tyckModule(@NotNull @NotNull PrimFactory primFactory, @NotNull @NotNull ModuleContext context, @NotNull @NotNull kala.collection.immutable.ImmutableSeq<org.aya.syntax.concrete.stmt.Stmt> program, @Nullable @Nullable ModuleCallback<E> onTycked) throws E
      Throws:
      E
    • tyckModule

      @NotNull default <E extends Exception> @NotNull ResolveInfo tyckModule(ResolveInfo resolveInfo, ModuleCallback<E> onTycked) throws E
      Throws:
      E
    • resolveModule

      @Internal @NotNull default @NotNull ResolveInfo resolveModule(@NotNull @NotNull PrimFactory primFactory, @NotNull @NotNull ModuleContext context, @NotNull @NotNull kala.collection.immutable.ImmutableSeq<org.aya.syntax.concrete.stmt.Stmt> program, @NotNull @NotNull ModuleLoader recurseLoader)
      Resolve a certain module
      Parameters:
      context - the module
      program - the stmt
      recurseLoader - the ModuleLoader that use for tycking the module
    • resolveModule

      @Internal @NotNull default @NotNull ResolveInfo resolveModule(@NotNull @NotNull PrimFactory primFactory, @NotNull @NotNull ShapeFactory shapeFactory, @NotNull @NotNull AyaBinOpSet opSet, @NotNull @NotNull ModuleContext context, @NotNull @NotNull kala.collection.immutable.ImmutableSeq<org.aya.syntax.concrete.stmt.Stmt> program, @NotNull @NotNull ModuleLoader recurseLoader)
      Resolve a certain module.
      Parameters:
      context - the context of the module
      program - the statements of the module
      recurseLoader - the module loader that used to resolve
    • load

      @Nullable @Nullable ResolveInfo load(@NotNull @NotNull org.aya.syntax.ref.ModulePath path, @NotNull @NotNull ModuleLoader recurseLoader)
    • load

      @Nullable default @Nullable ResolveInfo load(@NotNull @NotNull org.aya.syntax.ref.ModulePath path)
    • existsFileLevelModule

      boolean existsFileLevelModule(@NotNull @NotNull org.aya.syntax.ref.ModulePath path)
      Returns:
      if there is a module with path , which can be untycked