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