// Copyright 2015 the V8 project authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. (function StoreToSuper () { "use strict"; class A { s() { super.bla = 10; } }; let a = new A(); (new A).s.call(a); assertEquals(10, a.bla); assertThrows(function() { (new A).s.call(undefined); }, TypeError); assertThrows(function() { (new A).s.call(42); }, TypeError); assertThrows(function() { (new A).s.call(null); }, TypeError); assertThrows(function() { (new A).s.call("abc"); }, TypeError); })(); (function LoadFromSuper () { "use strict"; class A { s() { return super.bla; } }; let a = new A(); assertSame(undefined, (new A).s.call(a)); assertSame(undefined, (new A).s.call(undefined)); assertSame(undefined, (new A).s.call(42)); assertSame(undefined, (new A).s.call(null)); assertSame(undefined, (new A).s.call("abc")); })();