mirror of
				https://github.com/tc39/test262.git
				synced 2025-10-31 19:53:50 +01:00 
			
		
		
		
	class fields: add early errors for argument and super
# Conflicts: # src/class-fields/init-err-contains-super.case
This commit is contained in:
		
							parent
							
								
									9cb6333cb9
								
							
						
					
					
						commit
						f2d76e60f2
					
				
							
								
								
									
										28
									
								
								src/class-fields/init-err-contains-boolean.case
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								src/class-fields/init-err-contains-boolean.case
									
									
									
									
									
										Normal file
									
								
							| @ -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. | ||||
| 
 | ||||
| /*--- | ||||
| desc: Syntax error if `arguments` used in class field | ||||
| info: | | ||||
|   Static Semantics: Early Errors | ||||
| 
 | ||||
|     FieldDefinition: | ||||
|       PropertyNameInitializeropt | ||||
| 
 | ||||
|     - It is a Syntax Error if ContainsArguments of Initializer is true. | ||||
| 
 | ||||
|   Static Semantics: ContainsArguments | ||||
|     IdentifierReference : Identifier | ||||
| 
 | ||||
|     1. If the StringValue of Identifier is "arguments", return true. | ||||
|     ... | ||||
|     For all other grammatical productions, recurse on all nonterminals. If any piece returns true, then return true. Otherwise return false. | ||||
| features: [class-fields] | ||||
| negative: | ||||
|   type: SyntaxError | ||||
|   phase: early | ||||
| template: initializer-error | ||||
| ---*/ | ||||
| 
 | ||||
| //- initializer | ||||
| arguments | ||||
| @ -0,0 +1,15 @@ | ||||
| // 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/fields-comp-name- | ||||
| name: computed ClassElementName | ||||
| ---*/ | ||||
| 
 | ||||
| throw "Test262: This statement should not be evaluated."; | ||||
| 
 | ||||
| var x = "string"; | ||||
| class C { | ||||
|   static [x] = /*{ initializer }*/; | ||||
| } | ||||
| @ -0,0 +1,15 @@ | ||||
| // 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/fields-static-comp-name- | ||||
| name: static computed ClassElementName | ||||
| ---*/ | ||||
| 
 | ||||
| throw "Test262: This statement should not be evaluated."; | ||||
| 
 | ||||
| var x = "string"; | ||||
| class C { | ||||
|   static [x] = /*{ initializer }*/; | ||||
| } | ||||
| @ -0,0 +1,14 @@ | ||||
| // 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/fields-static-literal- | ||||
| name: static literal ClassElementName | ||||
| ---*/ | ||||
| 
 | ||||
| throw "Test262: This statement should not be evaluated."; | ||||
| 
 | ||||
| class C { | ||||
|   static x = /*{ initializer }*/; | ||||
| } | ||||
| @ -0,0 +1,14 @@ | ||||
| // 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/fields-static-string-literal-name- | ||||
| name: static string literal ClassElementName | ||||
| ---*/ | ||||
| 
 | ||||
| throw "Test262: This statement should not be evaluated."; | ||||
| 
 | ||||
| class C { | ||||
|   static 'x' = /*{ initializer }*/; | ||||
| } | ||||
| @ -0,0 +1,15 @@ | ||||
| // 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/fields-static-comp-name- | ||||
| name: static computed ClassElementName | ||||
| ---*/ | ||||
| 
 | ||||
| throw "Test262: This statement should not be evaluated."; | ||||
| 
 | ||||
| var x = "string"; | ||||
| var C = class { | ||||
|   static [x] = /*{ initializer }*/; | ||||
| } | ||||
| @ -0,0 +1,14 @@ | ||||
| // 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/fields-static-literal- | ||||
| name: static literal ClassElementName | ||||
| ---*/ | ||||
| 
 | ||||
| throw "Test262: This statement should not be evaluated."; | ||||
| 
 | ||||
| var C = class { | ||||
|   static x = /*{ initializer }*/; | ||||
| } | ||||
| @ -0,0 +1,14 @@ | ||||
| // 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/fields-static-string-literal-name- | ||||
| name: static string literal ClassElementName | ||||
| ---*/ | ||||
| 
 | ||||
| throw "Test262: This statement should not be evaluated."; | ||||
| 
 | ||||
| var C = class { | ||||
|   static 'x' = /*{ initializer }*/; | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user