Class AbstractModuleRecord

java.lang.Object
com.oracle.truffle.js.runtime.objects.ScriptOrModule
com.oracle.truffle.js.runtime.objects.AbstractModuleRecord
Direct Known Subclasses:
CyclicModuleRecord

public abstract class AbstractModuleRecord extends ScriptOrModule
Abstract Module Record.
  • Constructor Details

    • AbstractModuleRecord

      protected AbstractModuleRecord(JSContext context, com.oracle.truffle.api.source.Source source, Object hostDefined)
  • Method Details

    • loadRequestedModules

      public abstract JSPromiseObject loadRequestedModules(JSRealm realm, Object hostDefinedArg)
      Prepares the module for linking by recursively loading all its dependencies.
    • loadRequestedModulesSync

      public final void loadRequestedModulesSync(JSRealm realm, Object hostDefinedArg)
    • link

      public abstract void link(JSRealm realm)
      Prepare the module for evaluation by transitively resolving all module dependencies and creating a Module Environment Record. LoadRequestedModules must have completed successfully prior to invoking this method.
    • evaluate

      public abstract JSPromiseObject evaluate(JSRealm realm)
      Returns a promise for the evaluation of this module and its dependencies, resolving on successful evaluation or if it has already been evaluated successfully, and rejecting for an evaluation error or if it has already been evaluated unsuccessfully. Link must have completed successfully prior to invoking this method.
    • getExportedNames

      public final Collection<com.oracle.truffle.api.strings.TruffleString> getExportedNames()
    • getExportedNames

      public abstract Collection<com.oracle.truffle.api.strings.TruffleString> getExportedNames(Set<JSModuleRecord> exportStarSet)
    • resolveExport

      public final ExportResolution resolveExport(com.oracle.truffle.api.strings.TruffleString exportName)
    • resolveExport

      public abstract ExportResolution resolveExport(com.oracle.truffle.api.strings.TruffleString exportName, Set<Pair<? extends AbstractModuleRecord, com.oracle.truffle.api.strings.TruffleString>> resolveSet)
    • getModuleNamespaceOrNull

      public final JSModuleNamespaceObject getModuleNamespaceOrNull()
    • getModuleNamespace

      public final JSModuleNamespaceObject getModuleNamespace()
    • getModuleSource

      public abstract Object getModuleSource()
    • getEnvironment

      public final com.oracle.truffle.api.frame.MaterializedFrame getEnvironment()
    • setEnvironment

      public final void setEnvironment(com.oracle.truffle.api.frame.MaterializedFrame environment)
    • clearEnvironment

      protected final void clearEnvironment()
    • getFrameDescriptor

      public com.oracle.truffle.api.frame.FrameDescriptor getFrameDescriptor()
    • getHostDefined

      public final Object getHostDefined()