mirror of
				https://github.com/tc39/test262.git
				synced 2025-11-02 20:53:50 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// This file was procedurally generated from the following sources:
 | 
						|
// - src/invalid-private-names/member-expression-bad-reference.case
 | 
						|
// - src/invalid-private-names/default/cls-expr-field-initializer.template
 | 
						|
/*---
 | 
						|
description: bad reference in member expression (Invalid private names should throw a SyntaxError, class field initializer in class expression)
 | 
						|
esid: sec-static-semantics-early-errors
 | 
						|
features: [class-fields-private, class, class-fields-public]
 | 
						|
flags: [generated]
 | 
						|
negative:
 | 
						|
  phase: parse
 | 
						|
  type: SyntaxError
 | 
						|
info: |
 | 
						|
    ScriptBody:StatementList
 | 
						|
      It is a Syntax Error if AllPrivateNamesValid of StatementList with an empty List
 | 
						|
      as an argument is false unless the source code is eval code that is being
 | 
						|
      processed by a direct eval.
 | 
						|
 | 
						|
    ModuleBody:ModuleItemList
 | 
						|
      It is a Syntax Error if AllPrivateNamesValid of ModuleItemList with an empty List
 | 
						|
      as an argument is false.
 | 
						|
 | 
						|
    Static Semantics: AllPrivateNamesValid
 | 
						|
 | 
						|
    ClassBody : ClassElementList
 | 
						|
    1. Let newNames be the concatenation of names with PrivateBoundNames of ClassBody.
 | 
						|
    2. Return AllPrivateNamesValid of ClassElementList with the argument newNames.
 | 
						|
 | 
						|
    For all other grammatical productions, recurse on subexpressions/substatements,
 | 
						|
    passing in the names of the caller. If all pieces return true, then return true.
 | 
						|
    If any returns false, return false.
 | 
						|
 | 
						|
 | 
						|
    Static Semantics: AllPrivateNamesValid
 | 
						|
 | 
						|
    MemberExpression : MemberExpression . PrivateName
 | 
						|
 | 
						|
    1. If StringValue of PrivateName is in names, return true.
 | 
						|
    2. Return false.
 | 
						|
 | 
						|
    CallExpression : CallExpression . PrivateName
 | 
						|
 | 
						|
    1. If StringValue of PrivateName is in names, return true.
 | 
						|
    2. Return false.
 | 
						|
 | 
						|
---*/
 | 
						|
 | 
						|
 | 
						|
$DONOTEVALUATE();
 | 
						|
 | 
						|
var C = class {
 | 
						|
  f = something.#x
 | 
						|
};
 |