Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(927)

Unified Diff: src/ast/scopeinfo.cc

Issue 2302783002: [modules] Basic support of exports (Closed)
Patch Set: . Created 4 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/ast/scopeinfo.cc
diff --git a/src/ast/scopeinfo.cc b/src/ast/scopeinfo.cc
index 20a96938c2a93625c2d7b97409c219e518dddabd..e64cc1bee3ee81ccff355ff3e956b7393cb8bec4 100644
--- a/src/ast/scopeinfo.cc
+++ b/src/ast/scopeinfo.cc
@@ -419,7 +419,7 @@ String* ScopeInfo::FunctionName() {
ModuleInfo* ScopeInfo::ModuleDescriptorInfo() {
DCHECK(scope_type() == MODULE_SCOPE);
- return static_cast<ModuleInfo*>(get(ModuleInfoEntryIndex()));
+ return ModuleInfo::cast(get(ModuleInfoEntryIndex()));
}
String* ScopeInfo::ParameterName(int var) {
@@ -716,12 +716,26 @@ void ScopeInfo::Print() {
PrintList("context slots", Context::MIN_CONTEXT_SLOTS,
ContextLocalNameEntriesIndex(),
ContextLocalNameEntriesIndex() + ContextLocalCount(), this);
+ // TODO(neis): Print module stuff if present.
}
PrintF("}\n");
}
#endif // DEBUG
+Handle<ModuleInfoEntry> ModuleInfoEntry::New(Isolate* isolate,
+ Handle<Object> export_name,
+ Handle<Object> local_name,
+ Handle<Object> import_name,
+ Handle<Object> module_request) {
+ Handle<ModuleInfoEntry> result = isolate->factory()->NewModuleInfoEntry();
+ result->set(kExportNameIndex, *export_name);
+ result->set(kLocalNameIndex, *local_name);
+ result->set(kImportNameIndex, *import_name);
+ result->set(kModuleRequestIndex, *module_request);
+ return result;
+}
+
Handle<ModuleInfo> ModuleInfo::New(Isolate* isolate, ModuleDescriptor* descr) {
// Serialize special exports.
Handle<FixedArray> special_exports =

Powered by Google App Engine
This is Rietveld 408576698