Lines Matching full:keys
16 // This is a helper class for JSReceiver::GetKeys which collects and sorts keys.
17 // GetKeys needs to sort keys per prototype level, first showing the integer
19 // does not apply to proxies which are in full control of how the keys are
22 // For performance reasons the KeyAccumulator internally separates integer keys
23 // in |elements_| into sorted lists per prototype level. String keys are
25 // Symbols in |symbol_properties_|. To separate the keys per level later when
27 // String and Symbol keys per level.
29 // Only unique keys are kept by the KeyAccumulator, strings are stored in a
30 // HashSet for inexpensive lookups. Integer keys are kept in sorted lists which
68 // Filter keys based on their property descriptors.
70 // The collection mode defines whether we collect the keys from the prototype
73 // In case of for-in loops we have to treat JSProxy keys differently and
74 // deduplicate them. Additionally we convert JSProxy keys back to array
79 // we have to keep track of non-enumerable keys that can shadow keys
84 // Shadowing keys are used to filter keys. This happens when non-enumerable
85 // keys appear again on the prototype chain.
97 Handle<FixedArray> keys);
100 Handle<OrderedHashSet> keys() { return Handle<OrderedHashSet>::cast(keys_); }
104 // keys a Handle<FixedArray>. The OrderedHashSet is in-place converted to the
105 // result list, a FixedArray containing all collected keys.
113 // For all the keys on the first receiver adding a shadowing key we can skip