Add support for class private methods (#703)
* Add support for class private methods This commit adds parser support for the TC39 Stage 2 Private Methods proposal. This commit also changes "key" in ClassPrivateProperty from an Identifier to a PrivateName, as well as disallowing #constructor as a valid private field name. * Add tests for string literal get/set/async These should be treated as regular methods and not special get/set/async behaviour. * Add tests for class private methods This also removes a test from the Test262 whitelist that failed before the changes for private methods support and now passes. * Modify class private prop tests for PrivateName * Add class private prop tests for #constructor * Fix existing ASI test case failure
This commit is contained in:
committed by
Justin Ridgewell
parent
b65b5a2f1c
commit
65bea96544
@@ -256,8 +256,6 @@ language/statements/class/definition/early-errors-class-method-await-in-formals.
|
||||
language/statements/class/strict-mode/with.js(default)
|
||||
language/statements/class/syntax/early-errors/class-body-has-direct-super-missing-class-heritage.js(default)
|
||||
language/statements/class/syntax/early-errors/class-body-has-direct-super-missing-class-heritage.js(strict mode)
|
||||
language/statements/class/syntax/early-errors/class-body-static-method-get-propname-prototype.js(default)
|
||||
language/statements/class/syntax/early-errors/class-body-static-method-get-propname-prototype.js(strict mode)
|
||||
language/statements/class/syntax/early-errors/class-definition-evaluation-block-duplicate-binding.js(default)
|
||||
language/statements/class/syntax/early-errors/class-definition-evaluation-block-duplicate-binding.js(strict mode)
|
||||
language/statements/class/syntax/early-errors/class-definition-evaluation-scriptbody-duplicate-binding.js(default)
|
||||
@@ -1305,4 +1303,4 @@ language/statements/class/fields-wrapped-in-sc-string-literal-names.js(strict mo
|
||||
|
||||
language/statements/labeled/let-identifier-with-newline.js(default)
|
||||
language/statements/labeled/value-yield-non-strict-escaped.js(default)
|
||||
language/statements/let/syntax/escaped-let.js(default)
|
||||
language/statements/let/syntax/escaped-let.js(default)
|
||||
|
||||
Reference in New Issue
Block a user