PropertyDefinitionEvaluation for static MethodDefinition

Yusuke SUZUKI utatane.tea at gmail.com
Wed Jul 22 17:10:07 UTC 2015


On Wed, Jul 22, 2015 at 10:06 AM, Allen Wirfs-Brock <allen at wirfs-brock.com>
wrote:

>
> On Jul 22, 2015, at 9:38 AM, Yusuke SUZUKI wrote:
>
> Hi forks,
>
> Seeing the ES6 specification, I've found that PropertyDefinitionEvaluation
> for static MethodDefinition is missing.
>
> For example, In ClassDefinitionEvaluation's step 21.a, we applied IsStatic
> semantics to ClassElement m, and IsStatic has the definition for static
> MethodDefinition correctly.
> After that, we applied PropertyDefinitionEvaluation semantics to the same
> ClassElement m, but there's no definition in PropertyDefinitionEvaluation
> for static MethodDefinition.
>
> Is that correct?
>
>
> static method ClassElement is defined via a "chain production" (
> http://www.ecma-international.org/ecma-262/6.0/#sec-algorithm-conventions
>  ):
>
>    *ClassElement* : *static* *MethodDefinition*
>
> so the definition of PropertyDefinitionEvaluation for *MethodDefinition*
> is used  (
> http://www.ecma-international.org/ecma-262/6.0/#sec-method-definitions-runtime-semantics-propertydefinitionevaluation
>  )
>
>
Oops, sorry. I've overlooked this. Thank you.



>
> And I'd like to make sure that static Method doesn't have the
> [[Construct]] (functionKind becomes "Method").
>
>
> Yes.
>
> PropertyDefinitionEvaluation for concise methods calls DefineMethod with
> only one argument. Taht results in DefineMethod calling FunctionCreate with
> *Method* as its *kind* argument
>
> allen
>

Make sense.


Best regards,
Yusuke Suzuki
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150722/d367b114/attachment-0001.html>


More information about the es-discuss mailing list