Name Description Size
binding.js --- es6id: 14.5 description: > class subclass binding --- 1443
browser.js 0
builtin-objects
builtins.js --- es6id: 14.5 description: > class sublclassing builtins --- 993
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. --- 783
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]]). [...] --- 869
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. [...] --- 1043
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. [...] --- 1448
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. [...] --- 1068
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%. [...] --- 985
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. --- 592
default-constructor-2.js --- es6id: 14.5 description: > class default constructor 2 --- 1587
default-constructor-spread-override.js --- esid: sec-runtime-semantics-classdefinitionevaluation description: > Default class constructor does not use argument evaluation. features: [Symbol.iterator] --- 594
default-constructor.js --- es6id: 14.5 description: > class default constructor --- 535
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. --- 662
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. --- 577
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. --- 552
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. --- 496
derived-class-return-override-catch.js --- esid: sec-ecmascript-function-objects-construct-argumentslist-newtarget description: > TypeError from `return 0` is not catchable. --- 481
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. --- 625
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. --- 540
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()`. --- 822
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. --- 727
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;` --- 591
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;` --- 952
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;` --- 591
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;` --- 585
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 {};` --- 908
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 "";` --- 587
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] --- 618
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;` --- 876
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;` --- 923
shell.js 0
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] --- 1334
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] --- 1361
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] --- 1142
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] --- 801
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] --- 1121
superclass-prototype-setter-constructor.js --- es6id: 14.5 description: > superclass setter "constructor" override --- 424
superclass-prototype-setter-method-override.js --- es6id: 14.5 description: > superclass prototype override --- 474
superclass-static-method-override.js --- es6id: 14.5 description: > Static method override --- 505