module.tq 846 Bytes
Newer Older
Tobias Tebbi's avatar
Tobias Tebbi committed
1 2 3 4 5 6
// Copyright 2019 the V8 project authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

@abstract
extern class Module extends HeapObject {
7
  // The complete export table, mapping an export name to its cell.
Tobias Tebbi's avatar
Tobias Tebbi committed
8
  exports: ObjectHashTable;
9
  // Hash for this object (a random non-zero Smi).
Tobias Tebbi's avatar
Tobias Tebbi committed
10 11 12
  hash: Smi;
  status: Smi;
  module_namespace: JSModuleNamespace|Undefined;
13
  // The exception in the case {status} is kErrored.
Tobias Tebbi's avatar
Tobias Tebbi committed
14
  exception: Object;
15 16
  // The top level promise capability of this module. Will only be defined
  // for cycle roots.
17
  top_level_capability: JSPromise|Undefined;
Tobias Tebbi's avatar
Tobias Tebbi committed
18 19
}

20
extern class JSModuleNamespace extends JSSpecialObject { module: Module; }
21 22 23 24 25

extern class ScriptOrModule extends Struct {
  resource_name: Object;
  host_defined_options: FixedArray;
}