Re: [heycam/webidl] Stop using extended attributes for constructors (#700)

bzbarsky requested changes on this pull request.



> @@ -1065,6 +1066,18 @@ The <dfn>qualified name</dfn> of an [=interface=] |interface| is defined as foll
 
 <pre class="grammar" id="prod-InterfaceMember">
     InterfaceMember :
+        PartialInterfaceMember
+        Constructor
+</pre>
+
+<pre class="grammar" id="prod-PartialInterfaceMembers">
+    InterfaceMembers :

This line should say `PartialInterfaceMembers :`

> @@ -3218,7 +3308,7 @@ definitions.
         };
     </pre>
 
-    Note that the [{{Constructor}}] and
+    Note that [=constructor methods=] and

Do we still need the prose mention here now that the grammar enforces it?

> -[=takes an argument list|take an argument list=].
-The bare form, <code>[Constructor]</code>, has the same meaning as
-using an empty argument list, <code>[Constructor()]</code>.  For each
-[{{Constructor}}] extended attribute
-on the interface, there will be a way to construct an object that [=implements=]
-the interface by passing the specified arguments.
-
-The prose definition of a constructor must either initialize the value passed as <b>[=this=]</b>,
-or throw an exception.
-
-The [{{Constructor}}] and
-[{{NoInterfaceObject}}]
-extended attributes must not be specified on the same interface.
-
-The [{{Constructor}}] and [{{Global}}] [=extended attributes=] must not be specified on the same
-[=interface=].

This requirement has disappeared.  It should be reinstated.

-- 
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/700#pullrequestreview-271467330

Received on Tuesday, 6 August 2019 16:36:26 UTC