mirror of
				https://github.com/tc39/test262.git
				synced 2025-11-04 05:33:50 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			92 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			92 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// This file was procedurally generated from the following sources:
 | 
						|
// - src/computed-property-names/computed-property-name-from-function-expression.case
 | 
						|
// - src/computed-property-names/evaluation/class-declaration-accessors.template
 | 
						|
/*---
 | 
						|
description: Computed property name from function expression (ComputedPropertyName in ClassDeclaration)
 | 
						|
esid: prod-ComputedPropertyName
 | 
						|
features: [computed-property-names]
 | 
						|
flags: [generated]
 | 
						|
info: |
 | 
						|
    ClassExpression:
 | 
						|
      classBindingIdentifier opt ClassTail
 | 
						|
 | 
						|
    ClassTail:
 | 
						|
      ClassHeritage opt { ClassBody opt }
 | 
						|
 | 
						|
    ClassBody:
 | 
						|
      ClassElementList
 | 
						|
 | 
						|
    ClassElementList:
 | 
						|
      ClassElement
 | 
						|
 | 
						|
    ClassElement:
 | 
						|
      MethodDefinition
 | 
						|
 | 
						|
    MethodDefinition:
 | 
						|
      PropertyName ...
 | 
						|
      get PropertyName ...
 | 
						|
      set PropertyName ...
 | 
						|
 | 
						|
    PropertyName:
 | 
						|
      ComputedPropertyName
 | 
						|
 | 
						|
    ComputedPropertyName:
 | 
						|
      [ AssignmentExpression ]
 | 
						|
---*/
 | 
						|
 | 
						|
 | 
						|
class C {
 | 
						|
  get [function () {}]() {
 | 
						|
    return 1;
 | 
						|
  }
 | 
						|
 | 
						|
  set [function () {}](v) {
 | 
						|
    return 1;
 | 
						|
  }
 | 
						|
 | 
						|
  static get [function () {}]() {
 | 
						|
    return 1;
 | 
						|
  }
 | 
						|
 | 
						|
  static set [function () {}](v) {
 | 
						|
    return 1;
 | 
						|
  }
 | 
						|
};
 | 
						|
 | 
						|
let c = new C();
 | 
						|
 | 
						|
assert.sameValue(
 | 
						|
  c[function () {}],
 | 
						|
  1
 | 
						|
);
 | 
						|
assert.sameValue(
 | 
						|
  c[function () {}] = 1,
 | 
						|
  1
 | 
						|
);
 | 
						|
 | 
						|
assert.sameValue(
 | 
						|
  C[function () {}],
 | 
						|
  1
 | 
						|
);
 | 
						|
assert.sameValue(
 | 
						|
  C[function () {}] = 1,
 | 
						|
  1
 | 
						|
);
 | 
						|
assert.sameValue(
 | 
						|
  c[String(function () {})],
 | 
						|
  1
 | 
						|
);
 | 
						|
assert.sameValue(
 | 
						|
  c[String(function () {})] = 1,
 | 
						|
  1
 | 
						|
);
 | 
						|
 | 
						|
assert.sameValue(
 | 
						|
  C[String(function () {})],
 | 
						|
  1
 | 
						|
);
 | 
						|
assert.sameValue(
 | 
						|
  C[String(function () {})] = 1,
 | 
						|
  1
 | 
						|
);
 |