• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright 2019 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@abstract
6@generateCppClass
7extern class JSCollection extends JSObject {
8  // The backing hash table.
9  table: Object;
10}
11@generateCppClass
12extern class JSSet extends JSCollection {
13}
14@generateCppClass
15extern class JSMap extends JSCollection {
16}
17
18@abstract
19@generateCppClass
20extern class JSWeakCollection extends JSObject {
21  // The backing hash table mapping keys to values.
22  table: Object;
23}
24@generateCppClass
25extern class JSWeakSet extends JSWeakCollection {
26}
27@generateCppClass
28extern class JSWeakMap extends JSWeakCollection {
29}
30
31@abstract extern class JSMapIterator extends JSCollectionIterator;
32extern class JSMapKeyIterator extends JSMapIterator
33    generates 'TNode<JSMapIterator>';
34extern class JSMapKeyValueIterator extends JSMapIterator
35    generates 'TNode<JSMapIterator>';
36extern class JSMapValueIterator extends JSMapIterator
37    generates 'TNode<JSMapIterator>';
38
39@abstract extern class JSSetIterator extends JSCollectionIterator;
40extern class JSSetKeyValueIterator extends JSSetIterator
41    generates 'TNode<JSSetIterator>';
42extern class JSSetValueIterator extends JSSetIterator
43    generates 'TNode<JSSetIterator>';
44