2015-02-13 18:34:52 +00:00
|
|
|
// 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.
|
|
|
|
|
|
|
|
// Flags: --harmony-classes --min-preparse-length=0
|
|
|
|
|
|
|
|
'use strict';
|
|
|
|
|
|
|
|
class Base {
|
|
|
|
m() {
|
|
|
|
return 42;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
class Derived extends Base {
|
|
|
|
m() {
|
|
|
|
return super.m();
|
|
|
|
}
|
2015-06-04 21:16:18 +00:00
|
|
|
evalM() {
|
|
|
|
return eval('super.m()');
|
|
|
|
}
|
2015-02-13 18:34:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
assertEquals(42, new Derived().m());
|
2015-06-04 21:16:18 +00:00
|
|
|
assertEquals(42, new Derived().evalM());
|
|
|
|
|
|
|
|
|
|
|
|
class LazyDerived extends Base {
|
|
|
|
constructor() {
|
|
|
|
eval('super()');
|
|
|
|
}
|
|
|
|
}
|
|
|
|
assertInstanceof(new LazyDerived(), LazyDerived);
|
|
|
|
assertInstanceof(new LazyDerived(), Base);
|