Re: [heycam/webidl] Make interface prototype object creation imperative (#494)

tobie commented on this pull request.



> -    1.  Otherwise, if |A| is declared with the [{{LegacyArrayClass}}]
-        extended attribute, then return {{%ArrayPrototype%}}.
-    1.  Otherwise, return {{%ObjectPrototype%}}.
+<div algorithm>
+    The [=named properties object=] for a given [=interface=] |interface| and [=Realm=] |realm|,
+    is <dfn lt="create a named properties object">created</dfn> as follows:
+
+    1.  Let |proto| be null.
+    1.  If |interface| is declared to inherit from another interface,
+        then set |proto| to the [=interface prototype object=] in |realm| for the inherited interface.
+    1.  Otherwise, if |interface| is declared with the [{{LegacyArrayClass}}] [=extended attribute=],
+        then set |proto| to |realm|.\[[Intrinsics]].[[{{%ArrayPrototype%}}]].
+    1.  Otherwise, set |proto| to |realm|.\[[Intrinsics]].[[{{%ObjectPrototype%}}]].
+    1.  Let |obj| be a newly created object.
+    1.  Set |obj|'s internal methods to the definitions specified in
+        [=ECMA-262 §9.1|ECMA-262 §9.1 Ordinary object internal methods and internal slots=], unless they are specified below.

Fixed in https://github.com/heycam/webidl/pull/494/commits/727287a754551e961546524d7f5631d9191f26ef.

-- 
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/494#discussion_r170982349

Received on Tuesday, 27 February 2018 16:31:50 UTC