This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 28124 - Issues in 4.5.11 (Maplike) and 4.5.12 (Setlike)
Summary: Issues in 4.5.11 (Maplike) and 4.5.12 (Setlike)
Status: RESOLVED FIXED
Alias: None
Product: WebAppsWG
Classification: Unclassified
Component: WebIDL (show other bugs)
Version: unspecified
Hardware: All All
: P2 normal
Target Milestone: ---
Assignee: Cameron McCormack
QA Contact: public-webapps-bugzilla
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-03-02 14:48 UTC by Jens Widell
Modified: 2019-02-28 13:21 UTC (History)
3 users (show)

See Also:


Attachments

Description Jens Widell 2015-03-02 14:48:48 UTC
In the descriptions of the various maplike/setlike operations, there are some issues:

First, in e.g. "4.5.11.4. get and has", there are the steps

 5. Let /map/ be the Map object that is the value of /O/’s [[BackingMap]] internal slot.

 ...

 7. Let /function/ be the result of calling the [[Get]] internal method of /O/ passing /name/ and /O/ as arguments.

Here, step 7 ought to call [[Get]] on /map/ from step 5, I think. Otherwise, step 7 would simply find the function that implements these steps. The same pattern repeats in the description of most maplike and setlike operations.

Second, in "4.5.11.7. set" and "4.5.12.5. add and delete", the operations are ultimately defined as calling the corresponding function on the backing map/set and returning the result thereof. But Map.set() and Set.add() return the map/set object (i.e. 'this'), which thus would mean that e.g. a maplike platform object's set() operation would return the internal [[BackingMap]] object to the calling script code. It would seem more reasonable to return the maplike platform object, after calling the backing map's set().
Comment 1 Ms2ger 2019-02-28 13:21:34 UTC
Fixed in https://github.com/heycam/webidl/pull/47.