From b372e7674ca933b50c6c01e04edd875f39f738a6 Mon Sep 17 00:00:00 2001
From: ExE Boss <3889017+ExE-Boss@users.noreply.github.com>
Date: Thu, 29 Oct 2020 17:10:00 +0100
Subject: [PATCH] =?UTF-8?q?Normative:=20Match=C2=A0ECMA=E2=80=91262=C2=A0o?=
=?UTF-8?q?rder=20of=C2=A0the=C2=A0`constructor`=C2=A0property?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
index.bs | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/index.bs b/index.bs
index b2844780..44dbbd66 100644
--- a/index.bs
+++ b/index.bs
@@ -11602,6 +11602,9 @@ with the [{{LegacyNoInterfaceObject}}] [=extended attribute=].
to the definitions specified in
[=ECMA-262 Immutable prototype exotic objects=].
1. Otherwise, set |interfaceProtoObj| to [$OrdinaryObjectCreate$](|proto|).
+ 1. If the [{{LegacyNoInterfaceObject}}] [=extended attribute=] was not specified on |interface|, then:
+ 1. Let |constructor| be the [=interface object=] of |interface| in |realm|.
+ 1. Perform [$CreateMethodProperty$](|interfaceProtoObj|, "constructor
", |constructor|).
1. If |interface| has any [=member=] declared with the [{{Unscopable}}] [=extended attribute=],
then:
@@ -11625,12 +11628,6 @@ with the [{{LegacyNoInterfaceObject}}] [=extended attribute=].
1. [=Define the asynchronous iteration methods=] of |interface| on |interfaceProtoObj|
given |realm|.
1. [=Define the constants=] of |interface| on |interfaceProtoObj| given |realm|.
- 1. If the [{{LegacyNoInterfaceObject}}] [=extended attribute=] was not specified on |interface|, then:
- 1. Let |constructor| be the [=interface object=] of |interface| in |realm|.
- 1. Let |desc| be the PropertyDescriptor{\[[Writable]]: true,
- \[[Enumerable]]: false, \[[Configurable]]: true,
- \[[Value]]: |constructor|}.
- 1. Perform [=!=] DefinePropertyOrThrow(|interfaceProtoObj|, "constructor
", |desc|).
1. Return |interfaceProtoObj|.