// Copyright (C) 2015 the V8 project authors. All rights reserved. // This code is governed by the BSD license found in the LICENSE file. /*--- es6id: 12.3.5.1 description: > Runtime Semantics: Evaluation SuperCall : super Arguments ... 7. Let result be Construct(func, argList, newTarget). ... 10. Return thisER.BindThisValue(result) 8.1.1.3.1 BindThisValue(V) ... 3. If envRec.[[thisBindingStatus]] is "initialized", throw a ReferenceError exception. ... ---*/ var count = 0; class A { constructor() { count++; } } class B extends A { constructor() { super(); // envRec.[[thisBindingStatus]] is "initialized" this.af = _ => super(); } } var b = new B(); assert.throws(ReferenceError, function() { b.af(); }); assert.sameValue(count, 2, "The value of `count` is `2`, because S7 of `SuperCall : super Arguments` will call the super constructor.");