• 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
6extern class JSCollection extends JSObject {
7  // The backing hash table.
8  table: Object;
9}
10extern class JSSet extends JSCollection {}
11extern class JSMap extends JSCollection {}
12
13@abstract
14extern class JSWeakCollection extends JSObject {
15  // The backing hash table mapping keys to values.
16  table: Object;
17}
18extern class JSWeakSet extends JSWeakCollection {}
19extern class JSWeakMap extends JSWeakCollection {}
20
21@abstract extern class JSMapIterator extends JSCollectionIterator;
22extern class JSMapKeyIterator extends JSMapIterator
23    generates 'TNode<JSMapIterator>';
24extern class JSMapKeyValueIterator extends JSMapIterator
25    generates 'TNode<JSMapIterator>';
26extern class JSMapValueIterator extends JSMapIterator
27    generates 'TNode<JSMapIterator>';
28
29@abstract extern class JSSetIterator extends JSCollectionIterator;
30extern class JSSetKeyValueIterator extends JSSetIterator
31    generates 'TNode<JSSetIterator>';
32extern class JSSetValueIterator extends JSSetIterator
33    generates 'TNode<JSSetIterator>';
34