accessors.js |
---
es6id: 14.5
description: >
class accessors
--- |
1631 |
basics.js |
---
es6id: 14.5
description: >
class basics
--- |
1382 |
browser.js |
|
0 |
class-method-returns-promise.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
features: [async-functions]
description: >
Async function expressions return promises
--- |
452 |
constructable-but-no-prototype.js |
---
es6id: 14.5
description: >
class constructable but no prototype
--- |
341 |
constructor-property.js |
---
es6id: 14.5
description: >
class constructor property
--- |
952 |
constructor-strict-by-default.js |
---
es6id: 14.5
description: >
class constructor strict
--- |
357 |
constructor.js |
---
es6id: 14.5
description: >
class constructor
--- |
1326 |
early-errors-class-async-method-duplicate-parameters.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: sec-async-function-definitions
description: Formal parameters may not contain duplicates
info: |
# 14.7 Arrow Function Definitions
AsyncMethod[Yield, Await]:
async[no LineTerminator here]PropertyName[?Yield, ?Await](UniqueFormalParameters[~Yield, +Await]){AsyncFunctionBody}
# 14.1.2 Static Semantics: Early Errors
UniqueFormalParameters:FormalParameters
- It is a Syntax Error if BoundNames of FormalParameters contains any
duplicate elements.
negative:
phase: parse
type: SyntaxError
--- |
796 |
early-errors-class-method-arguments-in-formal-parameters.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: It is a SyntaxError if FormalParameters contains arguments
negative:
phase: parse
type: SyntaxError
--- |
414 |
early-errors-class-method-await-in-formals-default.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: It is a SyntaxError if FormalParameters' default expressions contains await
negative:
phase: parse
type: SyntaxError
--- |
433 |
early-errors-class-method-await-in-formals.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: It is a SyntaxError if FormalParameters contains await
negative:
phase: parse
type: SyntaxError
--- |
407 |
early-errors-class-method-body-contains-super-call.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: It is a SyntaxError if AsyncFunctionBody contains SuperCall is true
negative:
phase: parse
type: SyntaxError
--- |
422 |
early-errors-class-method-duplicate-parameters.js |
---
esid: sec-method-definitions
description: Formal parameters may not contain duplicates
info: |
# 14.3 Method Definitions
MethodDefinition[Yield, Await]:
PropertyName[?Yield, ?Await](UniqueFormalParameters[~Yield, ~Await]){FunctionBody[~Yield, ~Await]}
# 14.1.2 Static Semantics: Early Errors
UniqueFormalParameters:FormalParameters
- It is a Syntax Error if BoundNames of FormalParameters contains any
duplicate elements.
negative:
phase: parse
type: SyntaxError
--- |
707 |
early-errors-class-method-eval-in-formal-parameters.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: It is a SyntaxError if FormalParameters contains eval in strict mode
negative:
phase: parse
type: SyntaxError
--- |
418 |
early-errors-class-method-formals-body-duplicate.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: >
It is a SyntaxError if BoundNames of FormalParameters also occurs in the LexicallyDeclaredNames of AsyncFunctionBody
negative:
phase: parse
type: SyntaxError
--- |
488 |
early-errors-class-method-formals-contains-super-call.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: It is a syntax error if FormalParameters contains SuperCall is true
negative:
phase: parse
type: SyntaxError
--- |
426 |
early-errors-class-method-NSPL-with-USD.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: >
It is a Syntax Error if ContainsUseStrict of AsyncConciseBody is *true* and IsSimpleParameterList of ArrowParameters is *false*.
negative:
phase: parse
type: SyntaxError
--- |
494 |
fn-length-static-precedence-order.js |
---
esid: sec-runtime-semantics-classdefinitionevaluation
description: >
Function `length` attribute not inferred in presence of static `length` method
info: |
ClassTail : ClassHeritage_opt { ClassBody_opt }
14. If constructor is empty, then [...]
b. Let F be ! CreateBuiltinFunction(steps, 0, className, « [[ConstructorKind]], [[SourceText]] », empty, constructorParent).
15. Else,
a. Let constructorInfo be ! DefineMethod of constructor with arguments proto and constructorParent.
[ This sets the length property on constructorInfo.[[Closure]]. ]
b. Let F be constructorInfo.[[Closure]].
[...]
25. For each ClassElement e of elements, do
a. If IsStatic of e is false, then [...]
b. Else,
i. Let field be ClassElementEvaluation of e with arguments F and false.
[ This overwrites the length property on F. ]
includes: [compareArray.js]
features: [generators]
--- |
2384 |
fn-length-static-precedence.js |
---
esid: sec-runtime-semantics-classdefinitionevaluation
description: >
Function `length` attribute not inferred in presence of static `length` method
info: |
ClassTail : ClassHeritage_opt { ClassBody_opt }
14. If constructor is empty, then [...]
b. Let F be ! CreateBuiltinFunction(steps, 0, className, « [[ConstructorKind]], [[SourceText]] », empty, constructorParent).
15. Else,
a. Let constructorInfo be ! DefineMethod of constructor with arguments proto and constructorParent.
[ This sets the length property on constructorInfo.[[Closure]]. ]
b. Let F be constructorInfo.[[Closure]].
[...]
25. For each ClassElement e of elements, do
a. If IsStatic of e is false, then [...]
b. Else,
i. Let field be ClassElementEvaluation of e with arguments F and false.
[ This overwrites the length property on F. ]
features: [generators]
--- |
2231 |
fn-name-accessor-get.js |
---
es6id: 14.3.9
description: Assignment of function `name` attribute ("get" accessor)
info: |
MethodDefinition : get PropertyName ( ) { FunctionBody }
[...]
8. Perform SetFunctionName(closure, propKey, "get").
includes: [propertyHelper.js]
features: [Symbol]
--- |
1760 |
fn-name-accessor-set.js |
---
es6id: 14.3.9
description: Assignment of function `name` attribute ("set" accessor)
info: |
MethodDefinition :
set PropertyName ( PropertySetParameterList ) { FunctionBody }
[...]
7. Perform SetFunctionName(closure, propKey, "set").
includes: [propertyHelper.js]
features: [Symbol]
--- |
1799 |
fn-name-gen-method.js |
---
es6id: 14.4.13
description: >
Assignment of function `name` attribute (GeneratorMethod)
info: |
GeneratorMethod :
PropertyName ( StrictFormalParameters ) { GeneratorBody }
[...]
9. Perform SetFunctionName(closure, propKey).
includes: [propertyHelper.js]
features: [generators, Symbol]
--- |
1418 |
fn-name-method.js |
---
es6id: 12.2.6.9
description: Assignment of function `name` attribute (MethodDefinition)
info: |
6. If IsAnonymousFunctionDefinition(AssignmentExpression) is true, then
a. Let hasNameProperty be HasOwnProperty(propValue, "name").
b. ReturnIfAbrupt(hasNameProperty).
c. If hasNameProperty is false, perform SetFunctionName(propValue,
propKey).
includes: [propertyHelper.js]
features: [Symbol]
--- |
1526 |
fn-name-static-precedence-order.js |
---
esid: sec-runtime-semantics-classdefinitionevaluation
description: >
Function `name` attribute not inferred in presence of static `name` method
info: |
ClassTail : ClassHeritage_opt { ClassBody_opt }
14. If constructor is empty, then [...]
b. Let F be ! CreateBuiltinFunction(steps, 0, className, « [[ConstructorKind]], [[SourceText]] », empty, constructorParent).
15. Else, [...]
d. Perform ! SetFunctionName(F, className).
25. For each ClassElement e of elements, do
a. If IsStatic of e is false, then [...]
b. Else,
i. Let field be ClassElementEvaluation of e with arguments F and false.
[ This overwrites the name property on F. ]
includes: [compareArray.js]
features: [generators]
--- |
2184 |
fn-name-static-precedence.js |
---
esid: sec-runtime-semantics-classdefinitionevaluation
description: >
Function `name` attribute not inferred in presence of static `name` method
info: |
ClassTail : ClassHeritage_opt { ClassBody_opt }
14. If constructor is empty, then [...]
b. Let F be ! CreateBuiltinFunction(steps, 0, className, « [[ConstructorKind]], [[SourceText]] », empty, constructorParent).
15. Else, [...]
d. Perform ! SetFunctionName(F, className).
25. For each ClassElement e of elements, do
a. If IsStatic of e is false, then [...]
b. Else,
i. Let field be ClassElementEvaluation of e with arguments F and false.
[ This overwrites the name property on F. ]
features: [generators]
--- |
2021 |
getters-non-configurable-err.js |
---
esid: sec-method-definitions-runtime-semantics-propertydefinitionevaluation
es6id: 14.3.9
description: Failure to define property for static method
info: |
[...]
9. Let desc be the PropertyDescriptor{[[Get]]: closure, [[Enumerable]]:
enumerable, [[Configurable]]: true}.
10. Return ? DefinePropertyOrThrow(object, propKey, desc).
features: [generators]
--- |
624 |
getters-prop-desc.js |
---
esid: sec-class-definitions
es6id: 14.5
description: Class methods - "get" accessors
includes: [propertyHelper.js]
--- |
1494 |
getters-restricted-ids.js |
---
es6id: 14.5
description: >
class getters 2
--- |
677 |
implicit-constructor.js |
---
es6id: 14.5
description: >
class implicit constructor
--- |
381 |
invalid-extends.js |
---
es6id: 14.5
description: >
class invalid extends
--- |
551 |
methods-async-super-call-body.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: >
Super calls work in body of async methods
flags: [async]
features: [async-functions]
--- |
548 |
methods-async-super-call-param.js |
---
author: Brian Terlson <brian.terlson@microsoft.com>
esid: pending
description: >
Super calls work in the parameter list of async methods
flags: [async]
features: [async-functions]
--- |
552 |
methods-gen-no-yield.js |
---
description: >
Generators declared with GeneratorMethod syntax do not require a
`yield` expression.
features: [generators]
es6id: 14.4
--- |
472 |
methods-gen-return.js |
---
description: >
`return` is a valid statement within generator function bodies.
features: [generators]
es6id: 14.4
--- |
580 |
methods-gen-yield-as-expression-with-rhs.js |
---
description: >
`yield` is a valid expression within generator function bodies.
features: [generators]
es6id: 14.4
--- |
3090 |
methods-gen-yield-as-expression-without-rhs.js |
---
description: >
`yield` is a valid expression within generator function bodies.
features: [generators]
es6id: 14.4
--- |
3150 |
methods-gen-yield-as-function-expression-binding-identifier.js |
---
description: >
`yield` may not be used as the binding identifier of a function
expression within classes.
features: [generators]
es6id: 14.1
negative:
phase: parse
type: SyntaxError
--- |
448 |
methods-gen-yield-as-generator-method-binding-identifier.js |
---
description: >
`yield` is a valid BindingIdentifier for GeneratorMethods outside of
strict mode.
features: [generators]
es6id: 12.1.1
--- |
866 |
methods-gen-yield-as-identifier-in-nested-function.js |
---
description: >
`yield` is a reserved keyword within normal function bodies declared
within classes.
features: [generators]
es6id: 12.1.1
negative:
phase: parse
type: SyntaxError
--- |
459 |
methods-gen-yield-as-literal-property-name.js |
---
description: >
`yield` may be used as a literal property name in an object literal
within generator function bodies.
features: [generators]
es6id: 12.1.1
--- |
523 |
methods-gen-yield-as-logical-or-expression.js |
---
description: >
`yield` expressions are not LogicalOrExpressions.
features: [generators]
es6id: 12.1.1
negative:
phase: parse
type: SyntaxError
--- |
405 |
methods-gen-yield-as-parameter.js |
---
description: >
`yield` is a reserved keyword within generator function bodies and may
not be used as the binding identifier of a parameter.
features: [generators]
es6id: 12.1.1
negative:
phase: parse
type: SyntaxError
--- |
459 |
methods-gen-yield-as-property-name.js |
---
description: >
`yield` may be used as a literal property name in an object literal
within generator function bodies.
features: [generators]
es6id: 12.1.1
--- |
508 |
methods-gen-yield-as-statement.js |
---
description: >
`yield` is a valid statement within generator function bodies.
features: [generators]
es6id: 14.4
--- |
1249 |
methods-gen-yield-as-yield-operand.js |
---
description: >
`yield` expressions may be used as the right-hand-side of other `yield`
expressions.
features: [generators]
es6id: 14.4
--- |
864 |
methods-gen-yield-newline.js |
---
description: >
Newlines terminate `yield` expressions.
features: [generators]
es6id: 14.4
--- |
665 |
methods-gen-yield-star-after-newline.js |
---
description: >
A newline may not precede the `*` token in a `yield` expression.
features: [generators]
es6id: 14.4
negative:
phase: parse
type: SyntaxError
--- |
409 |
methods-gen-yield-star-before-newline.js |
---
description: >
The right-hand side of a `yield *` expression may appear on a new line.
features: [generators]
es6id: 14.4
--- |
497 |
methods-gen-yield-weak-binding.js |
---
description: >
`yield` expressions bind weakly
features: [generators]
es6id: 14.4
negative:
phase: parse
type: SyntaxError
--- |
375 |
methods-named-eval-arguments.js |
---
es6id: 14.5
description: >
class methods 2
--- |
645 |
methods-restricted-properties.js |
---
description: >
Functions created using MethodDefinition syntactic form do not have own
properties "caller" or "arguments", but inherit them from
%FunctionPrototype%.
es6id: 16.1
--- |
2281 |
methods.js |
---
es6id: 14.5
description: >
class methods
--- |
1587 |
numeric-property-names.js |
---
es6id: 14.5
description: >
class numeric property names
--- |
2896 |
prototype-getter.js |
---
es6id: 14.5
description: >
class prototype getter
--- |
740 |
prototype-property.js |
---
es6id: 14.5
description: >
class prototype property
--- |
567 |
prototype-setter.js |
---
es6id: 14.5
description: >
class prototype setter
--- |
479 |
prototype-wiring.js |
---
es6id: 14.5
description: >
class prototype wiring
--- |
1829 |
setters-non-configurable-err.js |
---
esid: sec-method-definitions-runtime-semantics-propertydefinitionevaluation
es6id: 14.3.9
description: Failure to define property for static method
info: |
[...]
8. Let desc be the PropertyDescriptor{[[Set]]: closure, [[Enumerable]]:
enumerable, [[Configurable]]: true}.
9. Return ? DefinePropertyOrThrow(object, propKey, desc).
features: [generators]
--- |
624 |
setters-prop-desc.js |
---
esid: sec-class-definitions
es6id: 14.5
description: Class methods - "set" accessors
includes: [propertyHelper.js]
--- |
1571 |
setters-restricted-ids.js |
---
es6id: 14.5
description: >
class setters 2
--- |
666 |
shell.js |
|
0 |
side-effects-in-extends.js |
---
es6id: 14.5
description: >
class side effect in extends
--- |
659 |
side-effects-in-property-define.js |
---
es6id: 14.5
description: >
class side effects in property define
--- |
437 |
this-access-restriction-2.js |
---
es6id: 14.5
description: >
class this access restriction 2
--- |
2224 |
this-access-restriction.js |
---
es6id: 14.5
description: >
class this access restriction
--- |
1744 |
this-check-ordering.js |
---
es6id: 14.5
description: >
class this check ordering
--- |
1910 |