Re: [heycam/webidl] Reduce the restrictions on members whose names match auto-generated properties (#726)

bzbarsky commented on this pull request.



> -named "<code>entries</code>", "<code>forEach</code>",
-"<code>get</code>", "<code>has</code>",
-"<code>keys</code>", "<code>size</code>", or
-"<code>values</code>",
-or have any [=inherited interfaces=]
-that have [=members=] with these names.
-Read–write maplike interfaces must not
-have any [=attributes=]
-or [=constants=] named
-"<code>clear</code>", "<code>delete</code>",
-or "<code>set</code>", or have any [=inherited interfaces=]
-that have [=attributes=] or [=constants=] with these names.
-
-Note: Operations named "<code>clear</code>", "<code>delete</code>",
-or "<code>set</code>" are allowed on read–write maplike
+Maplike interfaces, their [=inherited interfaces=], and any [=interfaces=] that

Is it worth factoring out the "interface, its inherited interfaces, and all interfaces that inherit from it" concept so it can be reused, instead of copy/pasting it?

> +[=interface/inherit=] from them must not have any [=regular operations=], [=regular attributes=] or
+[=constants=] named
+"<code>entries</code>",
+"<code>forEach</code>",
+"<code>get</code>",
+"<code>has</code>",
+"<code>keys</code>",
+"<code>size</code>", or
+"<code>values</code>".
+
+Read–write maplike interfaces must not have any [=regular attributes=] or [=constants=] named
+"<code>clear</code>",
+"<code>delete</code>", or
+"<code>set</code>",
+or have any [=inherited interfaces=] that have [=regular operations=], [=regular attributes=] or
+[=constants=] with these names.

Can interfaces inheriting from the read-write maplike have these things?  Seems like they shouldn't...

> -or "<code>delete</code>" 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
+"<code>entries</code>",
+"<code>forEach</code>",
+"<code>has</code>",
+"<code>keys</code>",
+"<code>size</code>", or
+"<code>values</code>".
+
+Read–write setlike interfaces must not have any [=regular attributes=] or [=constants=] named
+"<code>add</code>",
+"<code>clear</code>", or
+"<code>delete</code>",
+or have any [=inherited interfaces=] that have [=regular operations=], [=regular attributes=] or

Again, what about interfaces that inherit from the read-write setlike?

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/heycam/webidl/pull/726#pullrequestreview-374532356

Received on Friday, 13 March 2020 18:44:12 UTC