From 555442cd7b43b26ebaf5772011cd52bb5a86e39a Mon Sep 17 00:00:00 2001 From: Timothy Gu Date: Fri, 16 Feb 2018 17:26:16 -0800 Subject: [PATCH] Editorial: Add a few well-known intrinsic objects These will be helpful in solving https://github.com/heycam/webidl/issues/254. --- spec.html | 215 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 215 insertions(+) diff --git a/spec.html b/spec.html index f10859200f..cd60532d9b 100644 --- a/spec.html +++ b/spec.html @@ -2337,6 +2337,115 @@

Well-Known Intrinsic Objects

The initial value of the `prototype` data property of %Map% + + + %MapProto_clear% + + + `Map.prototype.clear` + + + The initial value of the `clear` data property of %MapPrototype% () + + + + + %MapProto_delete% + + + `Map.prototype.delete` + + + The initial value of the `delete` data property of %MapPrototype% () + + + + + %MapProto_entries% + + + `Map.prototype.entries` + + + The initial value of the `entries` data property of %MapPrototype% () + + + + + %MapProto_forEach% + + + `Map.prototype.forEach` + + + The initial value of the `forEach` data property of %MapPrototype% () + + + + + %MapProto_get% + + + `Map.prototype.get` + + + The initial value of the `get` data property of %MapPrototype% () + + + + + %MapProto_has% + + + `Map.prototype.has` + + + The initial value of the `has` data property of %MapPrototype% () + + + + + %MapProto_keys% + + + `Map.prototype.keys` + + + The initial value of the `keys` data property of %MapPrototype% () + + + + + %MapProto_set% + + + `Map.prototype.set` + + + The initial value of the `set` data property of %MapPrototype% () + + + + + %MapProto_size_get% + + + + + The initial value of the get accessor function of the `size` accessor property of %MapPrototype% () + + + + + %MapProto_values% + + + `Map.prototype.values` + + + The initial value of the `values` data property of %MapPrototype% () + + %Math% @@ -2622,6 +2731,93 @@

Well-Known Intrinsic Objects

The initial value of the `prototype` data property of %Set% + + + %SetProto_add% + + + `Set.prototype.add` + + + The initial value of the `add` data property of %SetPrototype% () + + + + + %SetProto_clear% + + + `Set.prototype.clear` + + + The initial value of the `clear` data property of %SetPrototype% () + + + + + %SetProto_delete% + + + `Set.prototype.delete` + + + The initial value of the `delete` data property of %SetPrototype% () + + + + + %SetProto_entries% + + + `Set.prototype.entries` + + + The initial value of the `entries` data property of %SetPrototype% () + + + + + %SetProto_has% + + + `Set.prototype.has` + + + The initial value of the `has` data property of %SetPrototype% () + + + + + %SetProto_keys% + + + `Set.prototype.keys` + + + The initial value of the `keys` data property of %SetPrototype% () + + + + + %SetProto_size_get% + + + + + The initial value of the get accessor function of the `size` accessor property of %SetPrototype% () + + + + + %SetProto_values% + + + `Set.prototype.values` + + + The initial value of the `values` data property of %SetPrototype% () + + %SharedArrayBuffer% @@ -34771,6 +34967,7 @@

Map.prototype.clear ( )

1. Set _p_.[[Value]] to ~empty~. 1. Return *undefined*. +

This function is the %MapProto_clear% intrinsic object.

The existing [[MapData]] List is preserved because there may be existing Map Iterator objects that are suspended midway through iterating over that List.

@@ -34798,6 +34995,7 @@

Map.prototype.delete ( _key_ )

1. Return *true*. 1. Return *false*. +

This function is the %MapProto_delete% intrinsic object.

The value ~empty~ is used as a specification device to indicate that an entry has been deleted. Actual implementations may take other actions such as physically removing the entry from internal data structures.

@@ -34811,6 +35009,7 @@

Map.prototype.entries ( )

1. Let _M_ be the *this* value. 1. Return ? CreateMapIterator(_M_, `"key+value"`). +

This function is the %MapProto_entries% intrinsic object.

@@ -34829,6 +35028,7 @@

Map.prototype.forEach ( _callbackfn_ [ , _thisArg_ ] )

1. Perform ? Call(_callbackfn_, _T_, « _e_.[[Value]], _e_.[[Key]], _M_ »). 1. Return *undefined*. +

This function is the %MapProto_forEach% intrinsic object.

_callbackfn_ should be a function that accepts three arguments. `forEach` calls _callbackfn_ once for each key/value pair present in the map object, in key insertion order. _callbackfn_ is called only for keys of the map which actually exist; it is not called for keys that have been deleted from the map.

If a _thisArg_ parameter is provided, it will be used as the *this* value for each invocation of _callbackfn_. If it is not provided, *undefined* is used instead.

@@ -34850,6 +35050,7 @@

Map.prototype.get ( _key_ )

1. If _p_.[[Key]] is not ~empty~ and SameValueZero(_p_.[[Key]], _key_) is *true*, return _p_.[[Value]]. 1. Return *undefined*. +

This function is the %MapProto_get% intrinsic object.

@@ -34865,6 +35066,7 @@

Map.prototype.has ( _key_ )

1. If _p_.[[Key]] is not ~empty~ and SameValueZero(_p_.[[Key]], _key_) is *true*, return *true*. 1. Return *false*. +

This function is the %MapProto_has% intrinsic object.

@@ -34875,6 +35077,7 @@

Map.prototype.keys ( )

1. Let _M_ be the *this* value. 1. Return ? CreateMapIterator(_M_, `"key"`). +

This function is the %MapProto_keys% intrinsic object.

@@ -34895,6 +35098,7 @@

Map.prototype.set ( _key_, _value_ )

1. Append _p_ as the last element of _entries_. 1. Return _M_. +

This function is the %MapProto_set% intrinsic object.

@@ -34911,6 +35115,7 @@

get Map.prototype.size

1. If _p_.[[Key]] is not ~empty~, set _count_ to _count_+1. 1. Return _count_. +

This function is the %MapProto_size_get% intrinsic object.

@@ -34921,6 +35126,7 @@

Map.prototype.values ( )

1. Let _M_ be the *this* value. 1. Return ? CreateMapIterator(_M_, `"value"`). +

This function is the %MapProto_values% intrinsic object.

@@ -35136,6 +35342,7 @@

Set.prototype.add ( _value_ )

1. Append _value_ as the last element of _entries_. 1. Return _S_. +

This function is the %SetProto_add% intrinsic object.

@@ -35151,6 +35358,7 @@

Set.prototype.clear ( )

1. Replace the element of _entries_ whose value is _e_ with an element whose value is ~empty~. 1. Return *undefined*. +

This function is the %SetProto_clear% intrinsic object.

The existing [[SetData]] List is preserved because there may be existing Set Iterator objects that are suspended midway through iterating over that List.

@@ -35177,6 +35385,7 @@

Set.prototype.delete ( _value_ )

1. Return *true*. 1. Return *false*. +

This function is the %SetProto_delete% intrinsic object.

The value ~empty~ is used as a specification device to indicate that an entry has been deleted. Actual implementations may take other actions such as physically removing the entry from internal data structures.

@@ -35190,6 +35399,7 @@

Set.prototype.entries ( )

1. Let _S_ be the *this* value. 1. Return ? CreateSetIterator(_S_, `"key+value"`). +

This function is the %SetProto_entries% intrinsic object.

For iteration purposes, a Set appears similar to a Map where each entry has the same value for its key and value.

@@ -35211,6 +35421,7 @@

Set.prototype.forEach ( _callbackfn_ [ , _thisArg_ ] )

1. Perform ? Call(_callbackfn_, _T_, « _e_, _e_, _S_ »). 1. Return *undefined*. +

This function is the %SetProto_forEach% intrinsic object.

_callbackfn_ should be a function that accepts three arguments. `forEach` calls _callbackfn_ once for each value present in the set object, in value insertion order. _callbackfn_ is called only for values of the Set which actually exist; it is not called for keys that have been deleted from the set.

If a _thisArg_ parameter is provided, it will be used as the *this* value for each invocation of _callbackfn_. If it is not provided, *undefined* is used instead.

@@ -35234,12 +35445,14 @@

Set.prototype.has ( _value_ )

1. If _e_ is not ~empty~ and SameValueZero(_e_, _value_) is *true*, return *true*. 1. Return *false*. +

This function is the %SetProto_has% intrinsic object.

Set.prototype.keys ( )

The initial value of the `keys` property is the same function object as the initial value of the `values` property.

+

This function is the %SetProto_keys% intrinsic object.

For iteration purposes, a Set appears similar to a Map where each entry has the same value for its key and value.

@@ -35259,6 +35472,7 @@

get Set.prototype.size

1. If _e_ is not ~empty~, set _count_ to _count_+1. 1. Return _count_. +

This function is the %SetProto_size_get% intrinsic object.

@@ -35269,6 +35483,7 @@

Set.prototype.values ( )

1. Let _S_ be the *this* value. 1. Return ? CreateSetIterator(_S_, `"value"`). +

This function is the %SetProto_values% intrinsic object.