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

Unified Diff: src/objects.h

Issue 2623573003: objects.h splitting: move ModuleInfo (Closed)
Patch Set: ditto Created 3 years, 11 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
« no previous file with comments | « src/factory.cc ('k') | src/objects-inl.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/objects.h
diff --git a/src/objects.h b/src/objects.h
index 53c5e18c53dc60602d28997bffa3236ec2b04ffb..ca116cf1ca08266f60b9cb3e7d43145187c26662 100644
--- a/src/objects.h
+++ b/src/objects.h
@@ -19,7 +19,6 @@
#include "src/flags.h"
#include "src/list.h"
#include "src/messages.h"
-#include "src/objects/object-macros.h"
#include "src/property-details.h"
#include "src/unicode-decoder.h"
#include "src/unicode.h"
@@ -39,6 +38,8 @@
#include "src/s390/constants-s390.h" // NOLINT
#endif
+// Has to be the last include (doesn't have include guards):
+#include "src/objects/object-macros.h"
//
// Most object types in the V8 JavaScript are described in this file.
@@ -168,6 +169,7 @@
namespace v8 {
namespace internal {
+class ModuleInfo;
struct InliningPosition;
enum KeyedAccessStoreMode {
@@ -7962,52 +7964,6 @@ class ModuleInfoEntry : public Struct {
DISALLOW_IMPLICIT_CONSTRUCTORS(ModuleInfoEntry);
};
-// ModuleInfo is to ModuleDescriptor what ScopeInfo is to Scope.
-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;
-
- // Accessors for [regular_exports].
- int RegularExportCount() const;
- String* RegularExportLocalName(int i) const;
- int RegularExportCellIndex(int i) const;
- FixedArray* RegularExportExportNames(int i) const;
-
- static Handle<ModuleInfoEntry> LookupRegularImport(Handle<ModuleInfo> info,
- Handle<String> local_name);
-
-#ifdef DEBUG
- inline bool Equals(ModuleInfo* other) const;
-#endif
-
- private:
- friend class Factory;
- friend class ModuleDescriptor;
- enum {
- kModuleRequestsIndex,
- kSpecialExportsIndex,
- kRegularExportsIndex,
- kNamespaceImportsIndex,
- kRegularImportsIndex,
- kLength
- };
- enum {
- kRegularExportLocalNameOffset,
- kRegularExportCellIndexOffset,
- kRegularExportExportNamesOffset,
- kRegularExportLength
- };
- DISALLOW_IMPLICIT_CONSTRUCTORS(ModuleInfo);
-};
// When importing a module namespace (import * as foo from "bar"), a
// JSModuleNamespace object (representing module "bar") is created and bound to
// the declared variable (foo). A module can have at most one namespace object.
« no previous file with comments | « src/factory.cc ('k') | src/objects-inl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698