diff --git a/index.bs b/index.bs index 5aba1f92..51d357d2 100644 --- a/index.bs +++ b/index.bs @@ -3981,12 +3981,13 @@ the iterator objects returned by entries, keys, values, and {{@@iterator}} are actual [=array iterator objects=]. -Interfaces with iterable declarations must not -have any [=interface members=] -named "entries", "forEach", -"keys", or "values", -or have any [=inherited interfaces=] -that have [=members=] with these names. +Interfaces with iterable declarations, their [=inherited interfaces=], and any [=interfaces=] that +[=interface/inherit=] from them must not have any [=regular operations=], [=regular attributes=] or +[=constants=] named +"entries", +"forEach", +"keys", or +"values".
@@ -4132,23 +4133,25 @@ keyword is used, this includes entries, For read–write maplikes, it also includes clear, delete, and set methods. -Maplike interfaces must not -have any [=interface members=] -named "entries", "forEach", -"get", "has", -"keys", "size", or -"values", -or have any [=inherited interfaces=] -that have [=members=] with these names. -Read–write maplike interfaces must not -have any [=attributes=] -or [=constants=] named -"clear", "delete", -or "set", or have any [=inherited interfaces=] -that have [=attributes=] or [=constants=] with these names. - -Note: Operations named "clear", "delete", -or "set" are allowed on read–write maplike +Maplike interfaces, their [=inherited interfaces=], and any [=interfaces=] that +[=interface/inherit=] from them must not have any [=regular operations=], [=regular attributes=] or +[=constants=] named +"entries", +"forEach", +"get", +"has", +"keys", +"size", or +"values". + +Read–write maplike interfaces must not have any [=regular attributes=] or [=constants=] named +"clear", +"delete", or +"set", +or have any [=inherited interfaces=] that have [=regular operations=], [=regular attributes=] or +[=constants=] with these names. + +Note: Operations with these names are allowed on read–write maplike interfaces and will prevent the default implementation of these methods being added to the interface prototype object in the ECMAScript language binding. This allows the default behavior of these operations to be overridden. @@ -4226,22 +4229,24 @@ keyword is used, this includes entries, For read–write setlikes, it also includes add, clear, and delete methods. -Setlike interfaces must not -have any [=interface members=] -named "entries", "forEach", -"has", "keys", -"size", or "values", -or have any [=inherited interfaces=] -that have [=members=] with these names. -Read–write setlike interfaces must not -have any [=attributes=] -or [=constants=] named -"add", "clear", -or "delete", or have any [=inherited interfaces=] -that have [=attributes=] or [=constants=] with these names. - -Note: Operations named "add", "clear", -or "delete" are allowed on read–write setlike +Setlike interfaces, their [=inherited interfaces=], and any [=interfaces=] that +[=interface/inherit=] from them must not have any [=regular operations=], [=regular attributes=] or +[=constants=] named +"entries", +"forEach", +"has", +"keys", +"size", or +"values". + +Read–write setlike interfaces must not have any [=regular attributes=] or [=constants=] named +"add", +"clear", or +"delete", +or have any [=inherited interfaces=] that have [=regular operations=], [=regular attributes=] or +[=constants=] with these names. + +Note: Operations with these names are allowed on read–write setlike interfaces and will prevent the default implementation of these methods being added to the interface prototype object in the ECMAScript language binding. This allows the default behavior of these operations to be overridden. @@ -12007,7 +12012,7 @@ The value of the [=function object=]’s name property
clear
-If |A| does not declare a [=member=] +If |A| does not declare a [=regular operation=] with identifier "clear", and |A| was declared with a read–write maplike declaration, then a clear data property with the following characteristics @@ -12024,7 +12029,7 @@ The value of the [=function object=]’s name property
delete
-If |A| does not declare a [=member=] +If |A| does not declare a [=regular operation=] with identifier "delete", and |A| was declared with a read–write maplike declaration, then a delete data property with the following characteristics @@ -12059,7 +12064,7 @@ The value of the [=function object=]’s name property
set
-If |A| does not declare a [=member=] with identifier "set", +If |A| does not declare a [=regular operation=] with identifier "set", and |A| was declared with a read–write maplike declaration, then a set data property with the following characteristics must exist on |A|’s [=interface prototype object=]: