Rick Waldron (2015-04-20T18:11:57.000Z)
d at domenic.me (2015-05-01T12:58:47.344Z)
V8 has implemented the same behavior that Jason has reported. If it's determined that this behaviour is undesirable, implementations could agree to do something like: ``` 14.5.1 Static Semantics: Early Errors (extend with...) ClassTail : ClassHeritage_opt { ClassBody } ClassBody : ClassElementList ClassElementList : ClassElement ClassElement : MethodDefinition ClassElement : static MethodDefinition - It is a Syntax Error if ClassHeritage is not present and HasSuperProperty of MethodDefinition is true. Static Semantics: HasSuperProperty MethodDefinition : PropertyName ( StrictFormalParameters ) { FunctionBody } 1. If StrictFormalParameters Contains SuperProperty is true, return true. 2. Return FunctionBody Contains SuperProperty. MethodDefinition : get PropertyName ( ) { FunctionBody } 1. Return FunctionBody Contains SuperProperty. MethodDefinition : set PropertyName ( PropertySetParameterList ) { FunctionBody } 1. If PropertySetParameterList Contains SuperProperty is true, return true. 2. Return FunctionBody Contains SuperProperty. ``` Which can then be added to ES2016. Note that the above is adapted from HasDirectSuper.