Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index c6434e01c6cdb89f4191a8166cbcc8864133cdbf..ef3f31df4793aefb3cdfbc7012a9c889589b8fb7 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -4686,6 +4686,14 @@ class ScopeInfo : public FixedArray { |
VariableLocation* location, InitializationFlag* init_flag, |
MaybeAssignedFlag* maybe_assigned_flag); |
+ // Get metadata of i-th MODULE-allocated variable, where 0 <= i < |
+ // ModuleVariableCount. The metadata is returned via out-arguments, which may |
+ // be nullptr if the corresponding information is not requested |
+ void ModuleVariable(int i, String** name, int* index, |
+ VariableMode* mode = nullptr, |
+ InitializationFlag* init_flag = nullptr, |
+ MaybeAssignedFlag* maybe_assigned_flag = nullptr); |
+ |
// Used for the function name variable for named function expressions, and for |
// the receiver. |
enum VariableAllocationInfo { NONE, STACK, CONTEXT, UNUSED }; |
@@ -4753,14 +4761,19 @@ class ModuleInfoEntry : public FixedArray { |
class ModuleInfo : public FixedArray { |
public: |
DECLARE_CAST(ModuleInfo) |
+ |
static Handle<ModuleInfo> New(Isolate* isolate, Zone* zone, |
ModuleDescriptor* descr); |
+ |
inline FixedArray* module_requests() const; |
inline FixedArray* special_exports() const; |
inline FixedArray* regular_exports() const; |
inline FixedArray* namespace_imports() const; |
inline FixedArray* regular_imports() const; |
+ static Handle<ModuleInfoEntry> LookupRegularImport(Handle<ModuleInfo> info, |
+ Handle<String> local_name); |
+ |
#ifdef DEBUG |
inline bool Equals(ModuleInfo* other) const; |
#endif |