SuperProperty evaluation order

super[super()] should evaluate and resolve super() first
This commit is contained in:
Rick Waldron 2018-05-24 15:10:13 -04:00
parent a8f7012587
commit 85a4484c52
8 changed files with 30 additions and 14 deletions

View File

@ -0,0 +1,16 @@
// Copyright (C) 2018 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-makesuperpropertyreference
description: >
SuperProperty evaluation order: super() thisBinding initialization occurs first.
---*/
class Derived extends Object {
constructor() {
super[super()];
}
}
var derived = new Derived();
assert.sameValue(derived instanceof Derived, true);
assert.sameValue(derived instanceof Object, true);

View File

@ -1,7 +1,7 @@
// Copyright (C) 2014 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 14.5
esid: sec-makesuperpropertyreference
description: >
class super in constructor
---*/

View File

@ -1,7 +1,7 @@
// Copyright (C) 2014 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 14.5
esid: sec-makesuperpropertyreference
description: >
class super in getter
---*/

View File

@ -1,7 +1,7 @@
// Copyright (C) 2014 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 14.5
esid: sec-makesuperpropertyreference
description: >
class super in methods
---*/

View File

@ -1,7 +1,7 @@
// Copyright (C) 2014 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 14.5
esid: sec-makesuperpropertyreference
description: >
class super in setter
---*/

View File

@ -1,7 +1,7 @@
// Copyright (C) 2014 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 14.5
esid: sec-makesuperpropertyreference
description: >
class super in static getter
---*/

View File

@ -1,7 +1,7 @@
// Copyright (C) 2014 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 14.5
esid: sec-makesuperpropertyreference
description: >
class super in static methods
---*/

View File

@ -1,7 +1,7 @@
// Copyright (C) 2014 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
es6id: 14.5
esid: sec-makesuperpropertyreference
description: >
class super in static setter
---*/