123 Commits

Author SHA1 Message Date
Daniel Tschinder
dfb279f478 Add test for function. 2017-08-28 17:30:10 -04:00
Henry Zhu
de47b0423f rename folders, add more 2017-08-28 17:30:10 -04:00
Henry Zhu
2dbba25d1a change some things to expectPlugin 2017-08-28 17:30:10 -04:00
Karl Cheng
19bc694e7d Rename PrivateName.name to .id (#698)
Given that it refers to an identifier, it's somewhat confusing to have
to use .name.name to get the actual string. The type declared within
types.js is also incorrect, which this commit fixes.
2017-08-28 13:47:37 -04:00
James Henry
acf0e65090 Apply location data fix to decorators plugin (#699) 2017-08-26 11:38:11 -04:00
Brian Ng
2fa1f9929f
Throw if rest element is not in last position for object expressions 2017-08-26 09:34:33 -05:00
Mateusz Burzyński
5d83e2692f Adjusted Object Rest/Spread syntax handling to the latest spec (#670) 2017-08-24 18:31:50 -05:00
Sangboak Lee
d83064a82e add test for do expressions (#688) 2017-08-22 08:48:56 -05:00
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
MarckK
c88af90c0a Add optionality to catch bindings (#634)
* Add optionality to catch bindings (plus tests)

* Update ast/spec, README, set param to null if no param with plugin optionalCatchBinding

* Fix: wrap param = null in else case

* Fix tests for optional catch binding; add tests which include finally clause
2017-07-21 10:18:57 -04:00
Justin Ridgewell
aa1bad90d1 Test function.sent statement without declarations 2017-07-08 02:08:46 -04:00
Justin Ridgewell
62d313e753 Fix function.sent parsing 2017-07-07 23:14:20 -04:00
Justin Ridgewell
9c9f9e2adb Add static private class field support 2017-07-02 01:44:12 -04:00
Henry Zhu
f7547fd35a Use the string "module" in err message (#598) 2017-06-28 10:46:30 -04:00
William Horton
baa5f4dca7 Stage 2: BigInt (#588)
* Stage 2: BigInt

* Change plugin name to bigInt (camelcase).

* Update based on PR review, add test cases.

* Use hex for charCodes.
2017-06-27 23:35:57 -04:00
Henry Zhu
39447b1cca Merge pull request #590 from peey/decorators-followup
Follow-up on Decorators PR
2017-06-27 15:34:44 -04:00
Peeyush Kushwaha
c3b992e031 Minor change in an error message 2017-06-23 22:04:35 +05:30
Peeyush Kushwaha
2c8fc75643 Add test case for decorated static method 2017-06-23 18:13:51 +05:30
Peeyush Kushwaha
37fa77e84f Support decorator in decorator
Fixes #524
2017-06-23 18:10:16 +05:30
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
Peeyush Kushwaha
add8e4ad13 Helpful error message for @dec export class 2017-06-23 02:19:08 +05:30
Peeyush Kushwaha
d99618cdfe renames files 2017-06-22 02:01:28 +05:30
Peeyush Kushwaha
e5fdb3448d rename decoratorsStage2 -> decorators2 2017-06-22 02:00:36 +05:30
Peeyush Kushwaha
e1972baff5 Decorated classes/methods start where the decorator starts 2017-06-22 01:45:53 +05:30
Peeyush Kushwaha
04b40868f9 Add more tests; fix plugin conflict code 2017-06-19 23:45:57 +05:30
Peeyush Kushwaha
b60ac52ae6 Reorganize tests and add tests
Add tests for static properties and private properties
2017-06-18 02:00:13 +05:30
Peeyush Kushwaha
b7c1c559c7 Add test case for object properties 2017-06-18 01:30:46 +05:30
Peeyush Kushwaha
38c417e971 Reorganize tests; camelCase plugin name 2017-06-18 01:25:54 +05:30
Peeyush Kushwaha
b5e23835ce Disallow exports between decorator & class body
For stage 2 decorators
2017-06-17 18:12:14 +05:30
Peeyush Kushwaha
9c639743dd Disallow in object literals, params, class props
And add tests to reflect the same
2017-06-17 17:49:33 +05:30
Peeyush Kushwaha
001044ffa7 Add tests for stage 2 decorators from PR#353 2017-06-17 13:33:42 +05:30
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
Henry Zhu
4c8f4a23db add another test 2017-06-05 16:51:45 -04:00
Justin Ridgewell
e1ec23cd3e Finish optionalChaining plugin 2017-06-03 01:20:40 -04:00
Henry Zhu
2dd624b44e Merge branch 'master' into feat-optional-chaining 2017-05-31 14:33:47 -04:00
Jan Olaf Krems
d4e842d4eb Add plugin for import.meta proposal (#544)
* Add plugin for import.meta proposal

Fixes https://github.com/babel/babylon/issues/539

* Tests for assignment/mutation of import.meta

* Use correct identifier in failure message

* Simpler & more consistent script errors for import.meta
2017-05-30 19:28:51 -04:00
Rick Waldron
2f5d146d54 Don't treat e, b, E, B as forbidden siblings for hex literals. (#549) 2017-05-30 18:14:31 -05:00
Rick Waldron
3ca75dc9ec Adds test to ensure that numericSeparator plugin does not alter "_" handling in Identifier (#548) 2017-05-30 14:31:13 -05:00
Sven SAULEAU
b0386005c8
docs: NewExpression spec 2017-05-30 20:14:19 +02:00
Sven SAULEAU
9bcd85acf3
feat: CallExpression support 2017-05-30 20:12:43 +02:00
Sven SAULEAU
51bd87baa8
feat: use syntax plugin 2017-05-30 18:35:29 +02:00
Sven SAULEAU
d3bc8fcbdf
Merge branch 'master' into feat-optional-chaining 2017-05-29 18:43:40 +02:00
Rick Waldron
b344f62056 NumberLiteralSeparator: Stage 1 feature plugin. Closes gh-538 (#541)
* NumberLiteralSeparator: Stage 1 feature plugin

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>

* fix-up per review

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>

* nit: forbiddenNumericLiteralSeparatorSibling -> forbiddenNumericLiteralSeparatorSiblings

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>

* fix-up to change includes -> indexOf

Signed-off-by: Rick Waldron <waldron.rick@gmail.com>
2017-05-26 16:37:05 -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
Kevin Gibbons
6c4acecf00 Fix #437: only prohibit 'export type from "module" ' when flow is enabled (#438)
* Only prohibit 'export type' when flow is enabled

* Fix lint
2017-05-19 10:05:44 +02:00
Brian Ng
dcef4012a0 Disallow SpreadElement inside dynamic import (#529)
* Disallow SpreadElement inside dynamic import

* tweak error message
2017-05-17 12:07:09 -04:00
Brian Ng
d33c82781a Allow super in class properties (#499) 2017-05-02 14:41:10 -04:00
Andy
9660f06b25 Don't add 'shorthand' property to ObjectMethod (#506) 2017-05-02 14:39:21 -04:00