mirror of https://github.com/tc39/test262.git
Fixup Class Elements: make templates from custom V8 tests
This commit is contained in:
parent
5c753769e6
commit
dd80cd2ea9
|
@ -22,3 +22,5 @@ template: initializer-eval-super-property
|
|||
|
||||
//- initializer
|
||||
super.x
|
||||
//- arrow-body
|
||||
() => super.x
|
||||
|
|
|
@ -19,3 +19,5 @@ template: initializer-eval-super-property
|
|||
|
||||
//- initializer
|
||||
super['x']
|
||||
//- arrow-body
|
||||
() => super['x']
|
||||
|
|
|
@ -23,6 +23,8 @@ template: initializer-eval-arguments
|
|||
|
||||
//- initializer
|
||||
arguments
|
||||
//- arrow-body
|
||||
() => arguments
|
||||
//- earlyerror
|
||||
SyntaxError
|
||||
//- executionerror
|
||||
|
|
|
@ -23,6 +23,8 @@ template: initializer-eval-newtarget
|
|||
|
||||
//- initializer
|
||||
new.target
|
||||
//- arrow-body
|
||||
() => new.target
|
||||
//- earlyerror
|
||||
SyntaxError
|
||||
//- executionerror
|
||||
|
|
|
@ -23,6 +23,8 @@ template: initializer-eval-super-call
|
|||
|
||||
//- initializer
|
||||
super()['x']
|
||||
//- arrow-body
|
||||
() => super()['x']
|
||||
//- earlyerror
|
||||
SyntaxError
|
||||
//- executionerror
|
||||
|
|
|
@ -16,6 +16,8 @@ template: initializer-eval-super-call
|
|||
|
||||
//- initializer
|
||||
super().x
|
||||
//- arrow-body
|
||||
() => super().x
|
||||
//- earlyerror
|
||||
SyntaxError
|
||||
//- executionerror
|
||||
|
|
|
@ -23,6 +23,8 @@ template: initializer-eval-super-call
|
|||
|
||||
//- initializer
|
||||
super()
|
||||
//- arrow-body
|
||||
() => super()
|
||||
//- earlyerror
|
||||
SyntaxError
|
||||
//- executionerror
|
||||
|
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-arrow-fnc-
|
||||
name: arrow function expression
|
||||
features: [arrow-function, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
x = () => {
|
||||
var t = () => /*{ initializer }*/;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-comp-name-
|
||||
name: computed ClassElementName
|
||||
features: [class, class-fields-public, computed-property-names]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var x = "string";
|
||||
class C {
|
||||
[x] = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-equality-
|
||||
name: equality expression
|
||||
features: [class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
x = () => {} == /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-literal-name-
|
||||
name: literal ClassElementName
|
||||
features: [class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
x = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-private-arrow-fnc-
|
||||
name: private field, arrow function expression
|
||||
features: [class, arrow-function, class-fields-private]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
#x = () => {
|
||||
var t = () => /*{ initializer }*/;
|
||||
t();
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-private-literal-name-
|
||||
name: ClassElementName PrivateName
|
||||
features: [class, class-fields-private]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
#x = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-private-ternary-
|
||||
name: private field, ternary expression
|
||||
features: [class, class-fields-private]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
#x = () => false ? {} : /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-private-typeof-
|
||||
name: private field, typeof expression
|
||||
features: [class, class-fields-private]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
#x = () => typeof /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-static-comp-name-
|
||||
name: static computed ClassElementName
|
||||
features: [class, class-static-fields-public, computed-property-names]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var x = "string";
|
||||
class C {
|
||||
static [x] = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-static-literal-
|
||||
name: static literal ClassElementName
|
||||
features: [class, class-static-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
static x = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-static-private-
|
||||
name: static PrivateName
|
||||
features: [class, class-static-fields-private]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
static #x = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-static-string-literal-name-
|
||||
name: static string literal ClassElementName
|
||||
features: [class, class-static-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
static 'x' = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-string-literal-name-
|
||||
name: string literal ClassElementName
|
||||
features: [class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
'x' = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-ternary-
|
||||
name: ternary expression
|
||||
features: [class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
x = () => false ? {} : /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/statements/class/elements/nested-typeof-
|
||||
name: typeof expression
|
||||
features: [class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
class C {
|
||||
x = () => typeof /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-arrow-fnc-
|
||||
name: arrow function expression
|
||||
features: [arrow-function, class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
x = () => {
|
||||
var t = () => /*{ initializer }*/;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-comp-name-
|
||||
name: computed ClassElementName
|
||||
features: [class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var x = "string";
|
||||
var C = class {
|
||||
[x] = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-equality-
|
||||
name: equality expression
|
||||
features: [class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
x = () => {} == /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-literal-name-
|
||||
name: literal ClassElementName
|
||||
features: [class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
x = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-private-arrow-fnc-
|
||||
name: private field, arrow function expression
|
||||
features: [class, arrow-function, class-fields-private]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
#x = () => {
|
||||
var t = () => /*{ initializer }*/;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-private-literal-name-
|
||||
name: ClassElementName PrivateName
|
||||
features: [class, class-fields-private]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
#x = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-private-ternary-
|
||||
name: private field, ternary expression
|
||||
features: [class, class-fields-private]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
#x = () => true ? {} : /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-private-typeof-
|
||||
name: private field, typeof expression
|
||||
features: [class, class-fields-private]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
#x = () => typeof /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-static-comp-name-
|
||||
name: static computed ClassElementName
|
||||
features: [class, class-static-fields-public, computed-property-names]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var x = "string";
|
||||
var C = class {
|
||||
static [x] = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-static-literal-
|
||||
name: static literal ClassElementName
|
||||
features: [class, class-static-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
static x = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-static-private-
|
||||
name: static PrivateName
|
||||
features: [class, class-static-fields-private]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
static #x = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-static-string-literal-name-
|
||||
name: static string literal ClassElementName
|
||||
features: [class, class-static-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
static 'x' = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-string-literal-name-
|
||||
name: string literal ClassElementName
|
||||
features: [class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
'x' = () => /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-ternary-
|
||||
name: ternary expression
|
||||
features: [class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
x = () => true ? {} : /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-class-definitions-static-semantics-early-errors
|
||||
path: language/expressions/class/elements/nested-typeof-
|
||||
name: typeof expression
|
||||
features: [class, class-fields-public]
|
||||
negative:
|
||||
type: SyntaxError
|
||||
phase: parse
|
||||
---*/
|
||||
$DONOTEVALUATE();
|
||||
|
||||
var C = class {
|
||||
x = () => typeof /*{ initializer }*/;
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(/*{ earlyerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,23 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
x = () => {
|
||||
var t = () => { eval('executed = true; /*{ initializer }*/;'); };
|
||||
t();
|
||||
}
|
||||
}
|
||||
|
||||
assert.throws(/*{ earlyerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
class C {
|
||||
x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(/*{ executionerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,23 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
x = () => {
|
||||
var t = () => { (0, eval)('executed = true; /*{ initializer }*/;'); };
|
||||
t();
|
||||
}
|
||||
}
|
||||
|
||||
assert.throws(/*{ executionerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,23 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-private-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
#x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
constructor() {
|
||||
this.#x();
|
||||
}
|
||||
}
|
||||
|
||||
assert.throws(/*{ earlyerror }*/, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,26 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-private-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
#x = () => {
|
||||
var t = () => { eval('executed = true; /*{ initializer }*/;'); };
|
||||
t();
|
||||
}
|
||||
constructor() {
|
||||
this.#x();
|
||||
}
|
||||
}
|
||||
|
||||
assert.throws(/*{ earlyerror }*/, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-private-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
class C {
|
||||
#x = (0, eval)('/*{ arrow-body }*/;');
|
||||
x() {
|
||||
this.#x();
|
||||
}
|
||||
}
|
||||
|
||||
assert.throws(/*{ executionerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-private-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
#x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(/*{ executionerror }*/, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
let executed = false;
|
||||
let C = class {
|
||||
x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(/*{ earlyerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,23 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
let executed = false;
|
||||
let C = class {
|
||||
x = () => {
|
||||
let f = eval('executed = true; /*{ initializer }*/;');
|
||||
f();
|
||||
}
|
||||
}
|
||||
|
||||
assert.throws(/*{ earlyerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,17 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var C = class {
|
||||
x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(/*{ executionerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var C = class {
|
||||
x = () => (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(/*{ executionerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-private-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var C = class {
|
||||
#x = eval('/*{ arrow-body }*/;');
|
||||
x() {
|
||||
this.#x();
|
||||
}
|
||||
}
|
||||
|
||||
assert.throws(/*{ earlyerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
|
@ -0,0 +1,23 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-private-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var C = class {
|
||||
#x = () => eval('executed = true; /*{ initializer }*/;');
|
||||
x() {
|
||||
this.#x();
|
||||
}
|
||||
}
|
||||
|
||||
assert.throws(/*{ earlyerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-private-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var C = class {
|
||||
#x = (0, eval)('/*{ arrow-body }*/;');
|
||||
x() {
|
||||
this.#x();
|
||||
}
|
||||
}
|
||||
|
||||
assert.throws(/*{ executionerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
|
@ -0,0 +1,23 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-private-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var C = class {
|
||||
#x = () => (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
x() {
|
||||
this.#x();
|
||||
}
|
||||
}
|
||||
|
||||
assert.throws(/*{ executionerror }*/, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
var c = new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
||||
assert.sameValue(c.x(), undefined);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
x = eval('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
var c = new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
||||
assert.sameValue(c.x, undefined);
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
class C {
|
||||
x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-private-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
#x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
x() {
|
||||
this.#x();
|
||||
}
|
||||
}
|
||||
|
||||
var c = new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
||||
assert.sameValue(c.x(), undefined);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-private-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
#x = eval('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
var c = new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
||||
assert.sameValue(c.x, undefined);
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-private-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
class C {
|
||||
#x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-private-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class C {
|
||||
#x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var C = class {
|
||||
x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
var c = new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
||||
assert.sameValue(c.x(), undefined);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var C = class {
|
||||
x = eval('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
var c = new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
||||
assert.sameValue(c.x, undefined);
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var C = class {
|
||||
x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var C = class {
|
||||
x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-private-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var C = class {
|
||||
#x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
x() {
|
||||
this.#x();
|
||||
}
|
||||
}
|
||||
|
||||
var c = new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
||||
assert.sameValue(c.x(), undefined);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-private-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var C = class {
|
||||
#x = eval('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
var c = new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
||||
assert.sameValue(c.x, undefined);
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-private-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var C = class {
|
||||
#x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-private-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var C = class {
|
||||
#x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
x = eval('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
class A {}
|
||||
class C extends A {
|
||||
x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-private-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
#x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-private-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
#x = eval('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-private-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
class A {}
|
||||
class C extends A {
|
||||
#x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-private-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
#x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
x = eval('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-private-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
#x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-private-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
#x = eval('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-private-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
#x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-private-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
#x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-derived-cls-direct-
|
||||
name: direct eval
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
new C().x();
|
||||
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,18 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-derived-cls-direct-
|
||||
name: direct eval
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
x = eval('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
class A {}
|
||||
class C extends A {
|
||||
x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-private-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
#x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
x() {
|
||||
this.#x();
|
||||
}
|
||||
}
|
||||
|
||||
new C().x();
|
||||
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-private-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
#x = eval('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/arrow-body-private-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
class A {}
|
||||
class C extends A {
|
||||
#x = (0, eval)('/*{ arrow-body }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. 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/elements/nested-private-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
class A {}
|
||||
class C extends A {
|
||||
#x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
}
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
};
|
||||
|
||||
new C().x();
|
||||
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
x = eval('executed = true; /*{ initializer }*/;');
|
||||
};
|
||||
|
||||
new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
x = (0, eval)('/*{ arrow-body }*/;');
|
||||
};
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-public]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
x = (0, eval)('executed = true; /*{ initializer }*/;');
|
||||
};
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C();
|
||||
});
|
||||
|
||||
assert.sameValue(executed, false);
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-private-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
#x = eval('executed = true; /*{ arrow-body }*/;');
|
||||
x() {
|
||||
this.#x();
|
||||
}
|
||||
};
|
||||
|
||||
new C().x();
|
||||
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/nested-private-derived-cls-direct-
|
||||
name: direct eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var executed = false;
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
#x = eval('executed = true; /*{ initializer }*/;');
|
||||
};
|
||||
|
||||
new C();
|
||||
|
||||
assert.sameValue(executed, true);
|
|
@ -0,0 +1,19 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
|
||||
/*---
|
||||
esid: sec-performeval-rules-in-initializer
|
||||
path: language/expressions/class/elements/arrow-body-private-derived-cls-indirect-
|
||||
name: indirect eval
|
||||
features: [class, class-fields-private]
|
||||
---*/
|
||||
|
||||
var A = class {}
|
||||
var C = class extends A {
|
||||
#x = (0, eval)('/*{ arrow-body }*/;');
|
||||
};
|
||||
|
||||
assert.throws(SyntaxError, function() {
|
||||
new C().x();
|
||||
});
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue