Class SyntheticModuleRecord
java.lang.Object
com.oracle.truffle.js.runtime.objects.ScriptOrModule
com.oracle.truffle.js.runtime.objects.AbstractModuleRecord
com.oracle.truffle.js.runtime.objects.SyntheticModuleRecord
A Synthetic Module Record, used for JSON modules, etc.
Its exported names are statically defined at creation, while their corresponding values can
change over time using SetSyntheticModuleExport. It has no imports or dependencies.
-
Nested Class Summary
Nested Classes -
Field Summary
Fields inherited from class ScriptOrModule
context, source -
Constructor Summary
ConstructorsConstructorDescriptionSyntheticModuleRecord(JSContext context, com.oracle.truffle.api.source.Source source, Object hostDefined, SyntheticModuleRecord.SharedData shared, Consumer<SyntheticModuleRecord> evaluationSteps) SyntheticModuleRecord(JSContext context, com.oracle.truffle.api.source.Source source, Object hostDefined, List<com.oracle.truffle.api.strings.TruffleString> exportedNames, Consumer<SyntheticModuleRecord> evaluationSteps) -
Method Summary
Modifier and TypeMethodDescriptionReturns 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.voidevaluateSync(JSRealm realm) Collection<com.oracle.truffle.api.strings.TruffleString> getExportedNames(Set<JSModuleRecord> exportStarSet) Off-spec extension: Provides a status for Node.js.voidPrepare the module for evaluation by transitively resolving all module dependencies and creating a Module Environment Record.loadRequestedModules(JSRealm realm, Object hostDefinedArg) Prepares the module for linking by recursively loading all its dependencies.resolveExport(com.oracle.truffle.api.strings.TruffleString exportName, Set<Pair<? extends AbstractModuleRecord, com.oracle.truffle.api.strings.TruffleString>> resolveSet) voidsetSyntheticModuleExport(com.oracle.truffle.api.strings.TruffleString exportName, Object exportValue) toString()Methods inherited from class AbstractModuleRecord
clearEnvironment, gatherAsynchronousTransitiveDependencies, getEnvironment, getExportedNames, getFrameDescriptor, getHostDefined, getModuleNamespace, getModuleNamespace, getModuleNamespaceOrNull, getModuleNamespaceOrNull, loadRequestedModulesSync, resolveExport, setEnvironment, setFrameDescriptorMethods inherited from class ScriptOrModule
addLoadedModule, getContext, getSource, rememberImportedModuleSource
-
Constructor Details
-
SyntheticModuleRecord
public SyntheticModuleRecord(JSContext context, com.oracle.truffle.api.source.Source source, Object hostDefined, List<com.oracle.truffle.api.strings.TruffleString> exportedNames, Consumer<SyntheticModuleRecord> evaluationSteps)
-
-
Method Details
-
loadRequestedModules
Description copied from class:AbstractModuleRecordPrepares the module for linking by recursively loading all its dependencies.- Specified by:
loadRequestedModulesin classAbstractModuleRecord
-
link
Description copied from class:AbstractModuleRecordPrepare 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.- Specified by:
linkin classAbstractModuleRecord
-
evaluate
Description copied from class:AbstractModuleRecordReturns 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.- Specified by:
evaluatein classAbstractModuleRecord
-
evaluateSync
- Overrides:
evaluateSyncin classAbstractModuleRecord
-
getExportedNames
public Collection<com.oracle.truffle.api.strings.TruffleString> getExportedNames(Set<JSModuleRecord> exportStarSet) - Specified by:
getExportedNamesin classAbstractModuleRecord
-
resolveExport
public ExportResolution resolveExport(com.oracle.truffle.api.strings.TruffleString exportName, Set<Pair<? extends AbstractModuleRecord, com.oracle.truffle.api.strings.TruffleString>> resolveSet) - Specified by:
resolveExportin classAbstractModuleRecord
-
setSyntheticModuleExport
public void setSyntheticModuleExport(com.oracle.truffle.api.strings.TruffleString exportName, Object exportValue) -
getModuleSource
- Specified by:
getModuleSourcein classAbstractModuleRecord
-
getStatus
Off-spec extension: Provides a status for Node.js. Can only be New, Linked, or Evaluated.- Specified by:
getStatusin classAbstractModuleRecord
-
toString
-