Karl Cheng
42d5dbe544
Remove private field shorthand
...
There seems to be tentative agreement to remove the private field
shorthand given the added confusion and edge cases involved with the
shorthand.
Refs: https://github.com/tc39/proposal-class-fields/issues/21
2017-07-25 11:53:38 +10:00
Justin Ridgewell
9c9f9e2adb
Add static private class field support
2017-07-02 01:44:12 -04:00
Karl Cheng
44d842c30b
Add private fields numeric name test
2017-06-23 18:34:59 +10:00
Karl Cheng
b4e06aa279
Fix parsing of nested classes with private fields
...
The parsing of private fields checks whether or not it is within a
class to determine if it is valid or not. However, the state.inClass
property is incorrect as it marks it as outside a class when the inner
class is closed.
This commit fixes this problem by replacing the state.inClass property
with a class nesting counter.
2017-06-23 18:34:59 +10:00
Karl Cheng
43dba7e7c1
Throw on attempt to delete a private field
...
Given that private fields can only be used within classes, any code
using them must be in a strict mode context. As private fields cannot
be deleted, throw an early SyntaxError.
2017-06-23 18:34:59 +10:00
Daniel Tschinder
69cba43f82
Fix parsing of private fields ( #566 )
...
The computed key is not part of the spec.
key for ClassProperties is an Expression
Do not parse computed and literal keys for PrivateClassProperties
2017-06-06 11:42:07 -04:00
Diego Ferreiro Val
01da62283c
Modify grammar to support Private Fields proposal: ( #260 )
...
* Modify grammar to support Private Fields proposal:
- Adding optional plugin `classPrivateProperties`
- Adding PrivateName type identifier
- Adding ClassPrivateProperty to ClassBody
- Allow PrivateName in MemberExpression
- Allow PrivateName as a reference
- Adding tests
* Remove unnecesary liberal parameter
* Guarding for plugin dependecy for future versioning
* update spec.md [skip ci]
* move comment [skip ci]
* remove unused param [skip ci]
* Refactor PrivateName to contain Identifier in name property
2017-05-22 11:33:48 -04:00