| // Copyright 2014 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. |
| |
| 'use strict'; |
| |
| class Base { |
| m() { |
| return 42; |
| } |
| } |
| |
| class Derived extends Base { |
| m() { |
| return super.m(); |
| } |
| evalM() { |
| return eval('super.m()'); |
| } |
| } |
| |
| assertEquals(42, new Derived().m()); |
| assertEquals(42, new Derived().evalM()); |
| |
| |
| class LazyDerived extends Base { |
| constructor() { |
| eval('super()'); |
| } |
| } |
| assertInstanceof(new LazyDerived(), LazyDerived); |
| assertInstanceof(new LazyDerived(), Base); |