LCOV - code coverage report
Current view: top level - src/objects - module-inl.h (source / functions) Hit Total Coverage
Test: app.info Lines: 27 27 100.0 %
Date: 2017-10-20 Functions: 15 15 100.0 %

          Line data    Source code
       1             : // Copyright 2017 the V8 project authors. All rights reserved.
       2             : // Use of this source code is governed by a BSD-style license that can be
       3             : // found in the LICENSE file.
       4             : 
       5             : #ifndef V8_OBJECTS_MODULE_INL_H_
       6             : #define V8_OBJECTS_MODULE_INL_H_
       7             : 
       8             : #include "src/objects/module.h"
       9             : 
      10             : // Has to be the last include (doesn't have include guards):
      11             : #include "src/objects/object-macros.h"
      12             : 
      13             : namespace v8 {
      14             : namespace internal {
      15             : 
      16             : CAST_ACCESSOR(Module)
      17       39897 : ACCESSORS(Module, code, Object, kCodeOffset)
      18      249919 : ACCESSORS(Module, exports, ObjectHashTable, kExportsOffset)
      19       41639 : ACCESSORS(Module, regular_exports, FixedArray, kRegularExportsOffset)
      20       10888 : ACCESSORS(Module, regular_imports, FixedArray, kRegularImportsOffset)
      21        9658 : ACCESSORS(Module, module_namespace, HeapObject, kModuleNamespaceOffset)
      22       13347 : ACCESSORS(Module, requested_modules, FixedArray, kRequestedModulesOffset)
      23        9534 : ACCESSORS(Module, script, Script, kScriptOffset)
      24        8168 : ACCESSORS(Module, exception, Object, kExceptionOffset)
      25        8038 : ACCESSORS(Module, import_meta, Object, kImportMetaOffset)
      26       27127 : SMI_ACCESSORS(Module, status, kStatusOffset)
      27        7364 : SMI_ACCESSORS(Module, dfs_index, kDfsIndexOffset)
      28        8975 : SMI_ACCESSORS(Module, dfs_ancestor_index, kDfsAncestorIndexOffset)
      29        4632 : SMI_ACCESSORS(Module, hash, kHashOffset)
      30             : 
      31        5395 : ModuleInfo* Module::info() const {
      32        5395 :   if (status() >= kEvaluating) {
      33         186 :     return ModuleInfo::cast(code());
      34             :   }
      35             :   ScopeInfo* scope_info =
      36             :       status() == kInstantiated
      37             :           ? JSGeneratorObject::cast(code())->function()->shared()->scope_info()
      38             :           : status() == kInstantiating
      39             :                 ? JSFunction::cast(code())->shared()->scope_info()
      40       10271 :                 : SharedFunctionInfo::cast(code())->scope_info();
      41        5209 :   return scope_info->ModuleDescriptorInfo();
      42             : }
      43             : 
      44     7407772 : TYPE_CHECKER(JSModuleNamespace, JS_MODULE_NAMESPACE_TYPE)
      45             : CAST_ACCESSOR(JSModuleNamespace)
      46       51334 : ACCESSORS(JSModuleNamespace, module, Module, kModuleOffset)
      47             : 
      48             : CAST_ACCESSOR(ModuleInfoEntry)
      49       12357 : ACCESSORS(ModuleInfoEntry, export_name, Object, kExportNameOffset)
      50       11539 : ACCESSORS(ModuleInfoEntry, local_name, Object, kLocalNameOffset)
      51       12353 : ACCESSORS(ModuleInfoEntry, import_name, Object, kImportNameOffset)
      52        7541 : SMI_ACCESSORS(ModuleInfoEntry, module_request, kModuleRequestOffset)
      53        7215 : SMI_ACCESSORS(ModuleInfoEntry, cell_index, kCellIndexOffset)
      54        2299 : SMI_ACCESSORS(ModuleInfoEntry, beg_pos, kBegPosOffset)
      55        2299 : SMI_ACCESSORS(ModuleInfoEntry, end_pos, kEndPosOffset)
      56             : 
      57             : CAST_ACCESSOR(ModuleInfo)
      58             : 
      59             : bool HeapObject::IsModuleInfo() const {
      60             :   return map() == GetHeap()->module_info_map();
      61             : }
      62             : 
      63             : }  // namespace internal
      64             : }  // namespace v8
      65             : 
      66             : #include "src/objects/object-macros-undef.h"
      67             : 
      68             : #endif  // V8_OBJECTS_MODULE_INL_H_

Generated by: LCOV version 1.10