5#ifndef V8_AST_MODULES_H_
6#define V8_AST_MODULES_H_
17class AstRawStringComparer;
19class SourceTextModuleInfo;
20class SourceTextModuleInfoEntry;
21class PendingCompilationErrorHandler;
117 template <
typename IsolateT>
136 template <
typename IsolateT>
138 IsolateT* isolate)
const;
232 template <
typename IsolateT>
278 specifier, import_phase, import_attributes,
279 specifier_loc.
beg_pos, module_requests_count))
281 return (*it)->index();
const ImportAttributes * import_attributes_
const AstRawString * specifier() const
ModuleImportPhase phase() const
DirectHandle< v8::internal::ModuleRequest > Serialize(IsolateT *isolate) const
const ModuleImportPhase phase_
AstModuleRequest(const AstRawString *specifier, const ModuleImportPhase phase, const ImportAttributes *import_attributes, int position, int index)
const AstRawString * specifier_
const ImportAttributes * import_attributes() const
void AddStarExport(const AstRawString *specifier, const ImportAttributes *import_attributes, const Scanner::Location loc, const Scanner::Location specifier_loc, Zone *zone)
ModuleRequestMap module_requests_
bool Validate(ModuleScope *module_scope, PendingCompilationErrorHandler *error_handler, Zone *zone)
RegularImportMap regular_imports_
void AddNamespaceImport(const Entry *entry, Zone *zone)
const Entry * FindDuplicateExport(Zone *zone) const
void AddRegularImport(Entry *entry)
void AddStarImport(const AstRawString *local_name, const AstRawString *specifier, const ImportAttributes *import_attributes, const Scanner::Location loc, const Scanner::Location specifier_loc, Zone *zone)
static CellIndexKind GetCellIndexKind(int cell_index)
int AddModuleRequest(const AstRawString *specifier, const ModuleImportPhase import_phase, const ImportAttributes *import_attributes, Scanner::Location specifier_loc, Zone *zone)
const RegularExportMap & regular_exports() const
SourceTextModuleDescriptor(Zone *zone)
DirectHandle< FixedArray > SerializeRegularExports(IsolateT *isolate, Zone *zone) const
const ModuleRequestMap & module_requests() const
const RegularImportMap & regular_imports() const
void AddEmptyImport(const AstRawString *specifier, const ImportAttributes *import_attributes, const Scanner::Location specifier_loc, Zone *zone)
ZoneVector< const Entry * > namespace_imports_
void MakeIndirectExportsExplicit(Zone *zone)
RegularExportMap regular_exports_
const ZoneVector< const Entry * > & namespace_imports() const
ZoneVector< const Entry * > special_exports_
void AddImport(const AstRawString *import_name, const AstRawString *local_name, const AstRawString *specifier, const ModuleImportPhase import_phase, const ImportAttributes *import_attributes, const Scanner::Location loc, const Scanner::Location specifier_loc, Zone *zone)
void AddExport(const AstRawString *local_name, const AstRawString *export_name, const Scanner::Location loc, Zone *zone)
void AddRegularExport(Entry *entry)
void AddSpecialExport(const Entry *entry, Zone *zone)
const ZoneVector< const Entry * > & special_exports() const
#define DCHECK_LE(v1, v2)
#define DCHECK_NOT_NULL(val)
#define DCHECK_LT(v1, v2)
#define V8_EXPORT_PRIVATE
DirectHandle< SourceTextModuleInfoEntry > Serialize(IsolateT *isolate) const
Entry(Scanner::Location loc)
const AstRawString * export_name
const AstRawString * local_name
Scanner::Location location
const AstRawString * import_name