PropertyDefinitionEvaluation for static MethodDefinition

Allen Wirfs-Brock allen at wirfs-brock.com
Wed Jul 22 17:06:53 UTC 2015


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  )


> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.mozilla.org/pipermail/es-discuss/attachments/20150722/f8978d6d/attachment.html>


More information about the es-discuss mailing list