diff options
Diffstat (limited to 'src/class-fields/initializer-eval-super-property/cls-decl-fields-indirect-eval.template')
-rw-r--r-- | src/class-fields/initializer-eval-super-property/cls-decl-fields-indirect-eval.template | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/class-fields/initializer-eval-super-property/cls-decl-fields-indirect-eval.template b/src/class-fields/initializer-eval-super-property/cls-decl-fields-indirect-eval.template new file mode 100644 index 000000000..0f9a97c6e --- /dev/null +++ b/src/class-fields/initializer-eval-super-property/cls-decl-fields-indirect-eval.template @@ -0,0 +1,21 @@ +// Copyright (C) 2017 Valerie Young. All rights reserved. +// This code is governed by the BSD license found in the LICENSE file. + +/*--- +esid: sec-performeval-rules-in-initializer +path: language/statements/class/fields-derived-cls-indirect- +name: indirect eval +---*/ + +class A {} + +var executed = false; +class C extends A { + x = (0, eval)('executed = true; /*{ initializer }*/;'); +} + +assert.throws(SyntaxError, function() { + new C(); +}); + +assert.sameValue(executed, false); |