- From: Boris Zbarsky <notifications@github.com>
- Date: Wed, 09 Nov 2016 12:58:03 -0800
- To: heycam/webidl <webidl@noreply.github.com>
- Message-ID: <heycam/webidl/pull/217/review/7894852@github.com>
bzbarsky commented on this pull request. > + then: + 1. If |attribute| was specified with the [{{LenientThis}}] + [=extended attribute=], then return <emu-val>undefined</emu-val>. + 1. Otherwise, <a lt="es throw">throw a <emu-val>TypeError</emu-val></a>. + 1. Let |R| be the result of performing the actions listed in the + description of |attribute| that occur on getting (or those listed in the description + of the inherited attribute, if this attribute is declared to + [=inherit its getter=]), on |O| if |O| is not <emu-val>null</emu-val>. + 1. Return the result of [=converted to an ECMAScript value|converting=] |R| to an + ECMAScript value of the type |attribute| is declared as. + + And then, if an exception was thrown: + + 1. If |attribute|'s type is a [=promise type=], then: + 1. Let |reject| be the initial value of [=%Promise%=].reject. + 1. Return the result of calling |reject| with [=%Promise%=] as the OK. Well, as another point of view, with my JIT implementor hat on, after this change all Promise-returning cases would be non-exceptional cases (because from a JIT's point of view they are), so my JIT would have to know that [SameObject] doesn't mean "the same object" in Promise-returning cases and hence can't be optimized the same way as other [SameObject] annotations... -- 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/217
Received on Wednesday, 9 November 2016 20:58:39 UTC