| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
| 6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
| 7 | 7 |
| 8 #include <iosfwd> | 8 #include <iosfwd> |
| 9 #include <memory> | 9 #include <memory> |
| 10 | 10 |
| (...skipping 8088 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8099 | 8099 |
| 8100 static Handle<ModuleInfo> New(Isolate* isolate, Zone* zone, | 8100 static Handle<ModuleInfo> New(Isolate* isolate, Zone* zone, |
| 8101 ModuleDescriptor* descr); | 8101 ModuleDescriptor* descr); |
| 8102 | 8102 |
| 8103 inline FixedArray* module_requests() const; | 8103 inline FixedArray* module_requests() const; |
| 8104 inline FixedArray* special_exports() const; | 8104 inline FixedArray* special_exports() const; |
| 8105 inline FixedArray* regular_exports() const; | 8105 inline FixedArray* regular_exports() const; |
| 8106 inline FixedArray* namespace_imports() const; | 8106 inline FixedArray* namespace_imports() const; |
| 8107 inline FixedArray* regular_imports() const; | 8107 inline FixedArray* regular_imports() const; |
| 8108 | 8108 |
| 8109 // Accessors for [regular_exports]. |
| 8110 int RegularExportCount() const; |
| 8111 String* RegularExportLocalName(int i) const; |
| 8112 int RegularExportCellIndex(int i) const; |
| 8113 FixedArray* RegularExportExportNames(int i) const; |
| 8114 |
| 8109 static Handle<ModuleInfoEntry> LookupRegularImport(Handle<ModuleInfo> info, | 8115 static Handle<ModuleInfoEntry> LookupRegularImport(Handle<ModuleInfo> info, |
| 8110 Handle<String> local_name); | 8116 Handle<String> local_name); |
| 8111 | 8117 |
| 8112 #ifdef DEBUG | 8118 #ifdef DEBUG |
| 8113 inline bool Equals(ModuleInfo* other) const; | 8119 inline bool Equals(ModuleInfo* other) const; |
| 8114 #endif | 8120 #endif |
| 8115 | 8121 |
| 8116 private: | 8122 private: |
| 8117 friend class Factory; | 8123 friend class Factory; |
| 8124 friend class ModuleDescriptor; |
| 8118 enum { | 8125 enum { |
| 8119 kModuleRequestsIndex, | 8126 kModuleRequestsIndex, |
| 8120 kSpecialExportsIndex, | 8127 kSpecialExportsIndex, |
| 8121 kRegularExportsIndex, | 8128 kRegularExportsIndex, |
| 8122 kNamespaceImportsIndex, | 8129 kNamespaceImportsIndex, |
| 8123 kRegularImportsIndex, | 8130 kRegularImportsIndex, |
| 8124 kLength | 8131 kLength |
| 8125 }; | 8132 }; |
| 8133 enum { |
| 8134 kRegularExportLocalNameOffset, |
| 8135 kRegularExportCellIndexOffset, |
| 8136 kRegularExportExportNamesOffset, |
| 8137 kRegularExportLength |
| 8138 }; |
| 8126 DISALLOW_IMPLICIT_CONSTRUCTORS(ModuleInfo); | 8139 DISALLOW_IMPLICIT_CONSTRUCTORS(ModuleInfo); |
| 8127 }; | 8140 }; |
| 8128 // When importing a module namespace (import * as foo from "bar"), a | 8141 // When importing a module namespace (import * as foo from "bar"), a |
| 8129 // JSModuleNamespace object (representing module "bar") is created and bound to | 8142 // JSModuleNamespace object (representing module "bar") is created and bound to |
| 8130 // the declared variable (foo). A module can have at most one namespace object. | 8143 // the declared variable (foo). A module can have at most one namespace object. |
| 8131 class JSModuleNamespace : public JSObject { | 8144 class JSModuleNamespace : public JSObject { |
| 8132 public: | 8145 public: |
| 8133 DECLARE_CAST(JSModuleNamespace) | 8146 DECLARE_CAST(JSModuleNamespace) |
| 8134 DECLARE_PRINTER(JSModuleNamespace) | 8147 DECLARE_PRINTER(JSModuleNamespace) |
| 8135 DECLARE_VERIFIER(JSModuleNamespace) | 8148 DECLARE_VERIFIER(JSModuleNamespace) |
| (...skipping 3636 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11772 } | 11785 } |
| 11773 return value; | 11786 return value; |
| 11774 } | 11787 } |
| 11775 }; | 11788 }; |
| 11776 | 11789 |
| 11777 | 11790 |
| 11778 } // NOLINT, false-positive due to second-order macros. | 11791 } // NOLINT, false-positive due to second-order macros. |
| 11779 } // NOLINT, false-positive due to second-order macros. | 11792 } // NOLINT, false-positive due to second-order macros. |
| 11780 | 11793 |
| 11781 #endif // V8_OBJECTS_H_ | 11794 #endif // V8_OBJECTS_H_ |
| OLD | NEW |