mirror of https://github.com/tc39/test262.git
classfields: add tests for early error delete private field
This commit is contained in:
parent
c39eeb9276
commit
f8c4f381df
|
@ -0,0 +1,18 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
desc: Syntax error if you call delete on call expressions . privatename
|
||||||
|
template: delete-error
|
||||||
|
---*/
|
||||||
|
|
||||||
|
//- infieldsetup
|
||||||
|
g = this.f;
|
||||||
|
//- infunctionsetup
|
||||||
|
var g = this.f;
|
||||||
|
//- expression
|
||||||
|
g().#x
|
||||||
|
//- functiondeclaration
|
||||||
|
f() {
|
||||||
|
return this;
|
||||||
|
}
|
|
@ -0,0 +1,29 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-field-delete-covered-
|
||||||
|
name: in field, covered
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
|
||||||
|
It is a Syntax Error if the derived UnaryExpression is PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList and CoverParenthesizedExpressionAndArrowParameterList ultimately derives a phrase that, if used in place of UnaryExpression, would produce a Syntax Error according to these rules. This rule is recursively applied.
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
class C {
|
||||||
|
#x;
|
||||||
|
/*{ infieldsetup }*/
|
||||||
|
x = delete (/*{ expression }*/);
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-field-delete-twice-covered-
|
||||||
|
name: in field, recursively covered
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
|
||||||
|
It is a Syntax Error if the derived UnaryExpression is PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList and CoverParenthesizedExpressionAndArrowParameterList ultimately derives a phrase that, if used in place of UnaryExpression, would produce a Syntax Error according to these rules. This rule is recursively applied.
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
class C {
|
||||||
|
#x;
|
||||||
|
/*{ infieldsetup }*/
|
||||||
|
x = delete ((/*{ expression }*/));
|
||||||
|
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,27 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-field-delete-
|
||||||
|
name: in field
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
class C {
|
||||||
|
#x;
|
||||||
|
/*{ infieldsetup }*/
|
||||||
|
x = delete /*{ expression }*/;
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-method-delete-covered-
|
||||||
|
name: in method, covered
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
|
||||||
|
It is a Syntax Error if the derived UnaryExpression is PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList and CoverParenthesizedExpressionAndArrowParameterList ultimately derives a phrase that, if used in place of UnaryExpression, would produce a Syntax Error according to these rules. This rule is recursively applied.
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
class C {
|
||||||
|
#x;
|
||||||
|
|
||||||
|
x() {
|
||||||
|
/*{ infunctionsetup }*/
|
||||||
|
delete (/*{ expression }*/);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-method-delete-twice-covered-
|
||||||
|
name: in method, recursively covered
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
|
||||||
|
It is a Syntax Error if the derived UnaryExpression is PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList and CoverParenthesizedExpressionAndArrowParameterList ultimately derives a phrase that, if used in place of UnaryExpression, would produce a Syntax Error according to these rules. This rule is recursively applied.
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
class C {
|
||||||
|
#x;
|
||||||
|
|
||||||
|
x() {
|
||||||
|
/*{ infunctionsetup }*/
|
||||||
|
delete ((/*{ expression }*/));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-method-delete-
|
||||||
|
name: in method
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
class C {
|
||||||
|
#x;
|
||||||
|
|
||||||
|
x() {
|
||||||
|
/*{ infunctionsetup }*/
|
||||||
|
delete /*{ expression }*/;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-field-delete-covered-
|
||||||
|
name: in field, covered
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
|
||||||
|
It is a Syntax Error if the derived UnaryExpression is PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList and CoverParenthesizedExpressionAndArrowParameterList ultimately derives a phrase that, if used in place of UnaryExpression, would produce a Syntax Error according to these rules. This rule is recursively applied.
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
var C = class {
|
||||||
|
#x;
|
||||||
|
/*{ infieldsetup }*/
|
||||||
|
x = delete (/*{ expression }*/);
|
||||||
|
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,30 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-field-delete-twice-covered-
|
||||||
|
name: in field, recursively covered
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
|
||||||
|
It is a Syntax Error if the derived UnaryExpression is PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList and CoverParenthesizedExpressionAndArrowParameterList ultimately derives a phrase that, if used in place of UnaryExpression, would produce a Syntax Error according to these rules. This rule is recursively applied.
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
var C = class {
|
||||||
|
#x;
|
||||||
|
/*{ infieldsetup }*/
|
||||||
|
x = delete ((/*{ expression }*/));
|
||||||
|
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-field-delete-
|
||||||
|
name: in field
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
var C = class {
|
||||||
|
#x;
|
||||||
|
/*{ infieldsetup }*/
|
||||||
|
x = delete /*{ expression }*/;
|
||||||
|
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-method-delete-covered-
|
||||||
|
name: in method, covered
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
|
||||||
|
It is a Syntax Error if the derived UnaryExpression is PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList and CoverParenthesizedExpressionAndArrowParameterList ultimately derives a phrase that, if used in place of UnaryExpression, would produce a Syntax Error according to these rules. This rule is recursively applied.
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
var C = class {
|
||||||
|
#x;
|
||||||
|
|
||||||
|
x() {
|
||||||
|
/*{ infunctionsetup }*/
|
||||||
|
delete (/*{ expression }*/);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,33 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-method-delete-twice-covered-
|
||||||
|
name: in method, recursively covered
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
|
||||||
|
It is a Syntax Error if the derived UnaryExpression is PrimaryExpression : CoverParenthesizedExpressionAndArrowParameterList and CoverParenthesizedExpressionAndArrowParameterList ultimately derives a phrase that, if used in place of UnaryExpression, would produce a Syntax Error according to these rules. This rule is recursively applied.
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
var C = class {
|
||||||
|
#x;
|
||||||
|
|
||||||
|
x() {
|
||||||
|
/*{ infunctionsetup }*/
|
||||||
|
delete ((/*{ expression }*/));
|
||||||
|
}
|
||||||
|
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,31 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. 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/err-method-delete-
|
||||||
|
name: in method
|
||||||
|
info: |
|
||||||
|
Static Semantics: Early Errors
|
||||||
|
|
||||||
|
UnaryExpression : delete UnaryExpression
|
||||||
|
|
||||||
|
It is a Syntax Error if the UnaryExpression is contained in strict mode code and the derived UnaryExpression is PrimaryExpression : IdentifierReference , MemberExpression : MemberExpression.PrivateName , or CallExpression : CallExpression.PrivateName .
|
||||||
|
features: [class-fields]
|
||||||
|
negative:
|
||||||
|
type: SyntaxError
|
||||||
|
phase: early
|
||||||
|
---*/
|
||||||
|
|
||||||
|
throw "Test262: This statement should not be evaluated.";
|
||||||
|
|
||||||
|
var C = class {
|
||||||
|
#x;
|
||||||
|
|
||||||
|
x() {
|
||||||
|
/*{ infunctionsetup }*/
|
||||||
|
delete /*{ expression }*/;
|
||||||
|
}
|
||||||
|
|
||||||
|
/*{ functiondeclaration }*/
|
||||||
|
}
|
|
@ -0,0 +1,10 @@
|
||||||
|
// Copyright (C) 2017 Valerie Young. All rights reserved.
|
||||||
|
// This code is governed by the BSD license found in the LICENSE file.
|
||||||
|
|
||||||
|
/*---
|
||||||
|
desc: Syntax error if you call delete on member expressions . privatename
|
||||||
|
template: delete-error
|
||||||
|
---*/
|
||||||
|
|
||||||
|
//- expression
|
||||||
|
this.#x
|
Loading…
Reference in New Issue