Name Description Size Coverage
binding.js --- es6id: 14.5 description: > class subclass binding --- 1421 -
builtin-objects -
builtins.js --- es6id: 14.5 description: > class sublclassing builtins --- 971 -
class-definition-evaluation-empty-constructor-heritage-present.js --- es6id: 14.5.14 description: > 10. If constructor is empty, then, a. If ClassHeritageopt is present, then i. Let constructor be the result of parsing the String "constructor(... args){ super (...args);}" using the syntactic grammar with the goal symbol MethodDefinition. --- 761 -
class-definition-null-proto-contains-return-override.js --- esid: sec-runtime-semantics-classdefinitionevaluation es6id: 14.5.14 description: > The constructor of a null-extending class can contain an explicit return value. info: | Runtime Semantics: ClassDefinitionEvaluation [...] 15. If ClassHeritageopt is present, then set F's [[ConstructorKind]] internal slot to "derived". [...] 9.2.2 [[Construct]] [...] 13. If result.[[Type]] is return, then a. If Type(result.[[Value]]) is Object, return NormalCompletion(result.[[Value]]). [...] --- 847 -
class-definition-null-proto-missing-return-override.js --- esid: sec-runtime-semantics-classdefinitionevaluation description: > The `this` value of a null-extending class isn't automatically initialized, which makes it necessary to have an explicit return value in the constructor. info: | Runtime Semantics: ClassDefinitionEvaluation [...] 5. If ClassHeritageopt is not present, then [...] 6. Else, [...] b. Let superclass be the result of evaluating ClassHeritage. [...] 15. If ClassHeritageopt is present, then set F's [[ConstructorKind]] internal slot to "derived". [...] 9.2.2 [[Construct]] [...] 15. Return ? envRec.GetThisBinding(). 8.1.1.3.4 GetThisBinding ( ) [...] 3. If envRec.[[ThisBindingStatus]] is "uninitialized", throw a ReferenceError exception. [...] --- 1021 -
class-definition-null-proto-super.js --- esid: sec-runtime-semantics-classdefinitionevaluation description: > Attempting to call `super()` in a null-extending class throws a TypeError, because %FunctionPrototype% cannot be called as constructor function. info: | Runtime Semantics: ClassDefinitionEvaluation [...] 5. If ClassHeritageopt is not present, then [...] 6. Else, [...] b. Let superclass be the result of evaluating ClassHeritage. [...] e. If superclass is null, then [...] ii. Let constructorParent be the intrinsic object %FunctionPrototype%. [...] 15. Let constructorInfo be the result of performing DefineMethod for constructor with arguments proto and constructorParent as the optional functionPrototype argument. [...] 12.3.5.1 Runtime Semantics: Evaluation SuperCall : super Arguments [...] 3. Let func be ! GetSuperConstructor(). 4. Let argList be ? ArgumentListEvaluation of Arguments. 5. If IsConstructor(func) is false, throw a TypeError exception. [...] --- 1426 -
class-definition-null-proto-this.js --- esid: sec-runtime-semantics-classdefinitionevaluation description: > The `this` value of a null-extending class isn't automatically initialized info: | Runtime Semantics: ClassDefinitionEvaluation [...] 15. If ClassHeritageopt is present, then set F's [[ConstructorKind]] internal slot to "derived". [...] 12.2.2.1 Runtime Semantics: Evaluation PrimaryExpression : this 1. Return ? ResolveThisBinding( ). 8.3.4 ResolveThisBinding ( ) [...] 2. Return ? envRec.GetThisBinding(). 8.1.1.3.4 GetThisBinding ( ) [...] 3. If envRec.[[ThisBindingStatus]] is "uninitialized", throw a ReferenceError exception. [...] --- 1046 -
class-definition-null-proto.js --- esid: sec-runtime-semantics-classdefinitionevaluation es6id: 14.5.14 description: > The prototype of a null-extending class is %FunctionPrototype%, the prototype of its "prototype" property is `null`. info: | Runtime Semantics: ClassDefinitionEvaluation [...] 5. If ClassHeritageopt is not present, then [...] 6. Else, [...] b. Let superclass be the result of evaluating ClassHeritage. [...] e. If superclass is null, then i. Let protoParent be null. ii. Let constructorParent be the intrinsic object %FunctionPrototype%. [...] --- 963 -
class-definition-parent-proto-null.js --- esid: sec-runtime-semantics-classdefinitionevaluation description: A class which extends a constructor with null .prototype is a derived class. --- 570 -
default-constructor-2.js --- es6id: 14.5 description: > class default constructor 2 --- 1565 -
default-constructor-spread-override.js --- esid: sec-runtime-semantics-classdefinitionevaluation description: > Default class constructor does not use argument evaluation. features: [Symbol.iterator] --- 572 -
default-constructor.js --- es6id: 14.5 description: > class default constructor --- 513 -
derived-class-return-override-catch-finally-arrow.js --- esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget description: > `super()` in finally block is executed before checking for missing `super()` call when `return` is in a catch block. The `super()` call is performed through an arrow function. --- 640 -
derived-class-return-override-catch-finally.js --- esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget description: > `super()` in finally block is executed before checking for missing `super()` call when `return` is in a catch block. --- 555 -
derived-class-return-override-catch-super-arrow.js --- esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget description: > TypeError from `return 0` is not catchable with `super` called in catch block from an arrow function. --- 530 -
derived-class-return-override-catch-super.js --- esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget description: > TypeError from `return 0` is not catchable with `super` in catch block. --- 474 -
derived-class-return-override-catch.js --- esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget description: > TypeError from `return 0` is not catchable. --- 459 -
derived-class-return-override-finally-super-arrow.js --- esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget description: > `super()` in finally block is executed before checking for missing `super()` call when `return` is in a try block. The `super()` call is performed through an arrow function. --- 603 -
derived-class-return-override-finally-super.js --- esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget description: > `super()` in finally block is executed before checking for missing `super()` call when `return` is in a try block. --- 518 -
derived-class-return-override-for-of-arrow.js --- esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget description: > ReferenceError when returning from a derived class constructor without calling `super()` is thrown after the function body has been left, so an iterator return handler can still call `super()`. --- 800 -
derived-class-return-override-for-of.js --- esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget description: > TypeError from `return 0` is thrown after the function body has been left, so an error thrown from an iterator has precedence. --- 705 -
derived-class-return-override-with-boolean.js --- es6id: 9.2.2 description: > [[Construct]] ( argumentsList, newTarget) ... 13. If result.[[type]] is return, then ... c. If result.[[value]] is not undefined, throw a TypeError exception. ... `return true;` --- 569 -
derived-class-return-override-with-empty.js --- es6id: 9.2.2 description: > [[Construct]] ( argumentsList, newTarget) ... 13. If result.[[type]] is return, then ... c. If result.[[value]] is not undefined, ... 14. Else, ReturnIfAbrupt(result). 15. Return envRec.GetThisBinding(). `return (empty);` Should be the same as `return undefined;` --- 930 -
derived-class-return-override-with-null.js --- es6id: 9.2.2 description: > [[Construct]] ( argumentsList, newTarget) ... 13. If result.[[type]] is return, then ... c. If result.[[value]] is not undefined, throw a TypeError exception. ... `return null;` --- 569 -
derived-class-return-override-with-number.js --- es6id: 9.2.2 description: > [[Construct]] ( argumentsList, newTarget) ... 13. If result.[[type]] is return, then ... c. If result.[[value]] is not undefined, throw a TypeError exception. ... `return 0;` --- 563 -
derived-class-return-override-with-object.js --- es6id: 9.2.2 description: > [[Construct]] ( argumentsList, newTarget) ... 13. If result.[[type]] is return, then a. If Type(result.[[value]]) is Object, return NormalCompletion(result.[[value]]). ... ... `return {};` --- 886 -
derived-class-return-override-with-string.js --- es6id: 9.2.2 description: > [[Construct]] ( argumentsList, newTarget) ... 13. If result.[[type]] is return, then ... c. If result.[[value]] is not undefined, throw a TypeError exception. ... `return "";` --- 565 -
derived-class-return-override-with-symbol.js --- es6id: 9.2.2 description: > [[Construct]] ( argumentsList, newTarget) ... 13. If result.[[type]] is return, then ... c. If result.[[value]] is not undefined, throw a TypeError exception. ... `return Symbol();` features: [Symbol] --- 596 -
derived-class-return-override-with-this.js --- es6id: 9.2.2 description: > [[Construct]] ( argumentsList, newTarget) ... 13. If result.[[type]] is return, then ... b. If kind is "base", return NormalCompletion(thisArgument). ... ... `return this;` --- 854 -
derived-class-return-override-with-undefined.js --- es6id: 9.2.2 description: > [[Construct]] ( argumentsList, newTarget) ... 13. If result.[[type]] is return, then ... c. If result.[[value]] is not undefined, ... 14. Else, ReturnIfAbrupt(result). 15. Return envRec.GetThisBinding(). `return undefined;` --- 901 -
private-class-field-on-nonextensible-return-override.js --- description: It is not possible to add private fields on non-extensible objects via return override esid: sec-define-field info: | 1.1 PrivateFieldAdd ( O, P, value ) 1. If O.[[Extensible]] is false, throw a TypeError exception. ... features: - class - class-fields-private - class-fields-public - nonextensible-applies-to-private flags: [onlyStrict] --- 2409 -
superclass-arrow-function.js --- esid: sec-runtime-semantics-classdefinitionevaluation description: > IsConstructor check is performed before "prototype" lookup. Arrow functions are not constructors (MakeConstructor is not called on them). info: | ClassDefinitionEvaluation [...] 5. Else, [...] d. Let superclass be ? GetValue(superclassRef). e. If superclass is null, then [...] f. Else if IsConstructor(superclass) is false, throw a TypeError exception. features: [arrow-function, class, Proxy] --- 1312 -
superclass-async-function.js --- esid: sec-runtime-semantics-classdefinitionevaluation description: > IsConstructor check is performed before "prototype" lookup. Async functions are not constructors (MakeConstructor is not called on them). info: | ClassDefinitionEvaluation [...] 5. Else, [...] d. Let superclass be ? GetValue(superclassRef). e. If superclass is null, then [...] f. Else if IsConstructor(superclass) is false, throw a TypeError exception. features: [async-functions, class, Proxy] --- 1339 -
superclass-async-generator-function.js --- esid: sec-runtime-semantics-classdefinitionevaluation description: > IsConstructor check is performed before "prototype" lookup. Async generator functions are not constructors (MakeConstructor is not called on them). info: | ClassDefinitionEvaluation [...] 5. Else, [...] d. Let superclass be ? GetValue(superclassRef). e. If superclass is null, then [...] f. Else if IsConstructor(superclass) is false, throw a TypeError exception. features: [async-iteration, class, Proxy] --- 1120 -
superclass-bound-function.js --- esid: sec-runtime-semantics-classdefinitionevaluation description: SuperClass may be a bound function object info: | ClassDefinitionEvaluation [...] 5. Else, [...] f. Else if IsConstructor(superclass) is false, throw a TypeError exception. g. Else, i. Let protoParent be ? Get(superclass, "prototype"). ii. If Type(protoParent) is neither Object nor Null, throw a TypeError exception. iii. Let constructorParent be superclass. features: [class] --- 779 -
superclass-generator-function.js --- esid: sec-runtime-semantics-classdefinitionevaluation description: > IsConstructor check is performed before "prototype" lookup. Generator functions are not constructors (MakeConstructor is not called on them). info: | ClassDefinitionEvaluation [...] 5. Else, [...] d. Let superclass be ? GetValue(superclassRef). e. If superclass is null, then [...] f. Else if IsConstructor(superclass) is false, throw a TypeError exception. features: [generators, class, Proxy] --- 1099 -
superclass-prototype-setter-constructor.js --- es6id: 14.5 description: > superclass setter "constructor" override --- 402 -
superclass-prototype-setter-method-override.js --- es6id: 14.5 description: > superclass prototype override --- 452 -
superclass-static-method-override.js --- es6id: 14.5 description: > Static method override --- 483 -