452 Commits

Author SHA1 Message Date
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
Daniel Tschinder
fecdb6feeb Make tokens optional (#563)
Adding tokens to the ast is significant slower and most tools
don't ever use them anyway
2017-06-27 23:26:24 -04:00
Henry Zhu
88298536c5 Revert "Distinguish between ternary's : and arrow fn's return type (#573)"
This reverts commit a9a55fbd3fcb0dcd83758549dfd2c4fa3d0dcaa2.
2017-06-27 15:58:57 -04:00
Nicolò Ribaudo
a9a55fbd3f Distinguish between ternary's : and arrow fn's return type (#573)
* Distinguish between ternary's : and arrow fn's return type

* Correctly parse nested arrow functions inside conditional expressions

Defer the conversion of arrow function parameters to assignable nodes so that
it is possible to use the (invalid) ast to get the exact position of the (wrong)
arrow functions.

* Check params of arrow fns w/ type params or w/o return type

* Fix also async functions

* Add test from prettier

https://github.com/prettier/prettier/issues/2194

* Don't check arrow params if they are valid at the first attemp

* Use state instead of relying on the "noArrowParamsConversion" parameter

* Remove noArrowParamsConversion
2017-06-27 15:44:56 -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
f2ad94d0e3 Incorporate suggestions from review 2017-06-27 22:46:43 +05:30
Henry Zhu
994cde616d Merge pull request #589 from Qantas94Heavy/fix-private-fields
Add delete check and fix nested class parsing for private fields
2017-06-27 11:33:19 -04:00
Nicolò Ribaudo
d93860393c Remove dead code 2017-06-26 00:48:18 +02:00
Peeyush Kushwaha
c3b992e031 Minor change in an error message 2017-06-23 22:04:35 +05:30
Peeyush Kushwaha
37fa77e84f Support decorator in decorator
Fixes #524
2017-06-23 18:10:16 +05:30
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
Henry Zhu
f976bdd21c Merge pull request #587 from peey/decorators-stage-2
Decorators Stage 2 Parsing
2017-06-22 10:20:08 -04:00
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
aardito2
ac936e315a Fix comment attachment for call expressions (#575) 2017-06-18 22:57:42 +02:00
Peeyush Kushwaha
4f8ac6bada Merge branch 'master' into decorators-stage-2 2017-06-18 01:33:16 +05:30
Peeyush Kushwaha
38c417e971 Reorganize tests; camelCase plugin name 2017-06-18 01:25:54 +05:30
Daniel Tschinder
e1e2c32bf3 Correctly put typeParameters on FunctionExpression (#585) 2017-06-17 15:43:31 -04:00
Daniel Tschinder
e982c0652c Fix v8 deopts (#581) 2017-06-17 11:41:23 -04:00
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
162bc905a6 Throw if both decorators decorators-stage-2 used 2017-06-17 13:38:04 +05:30
Peeyush Kushwaha
a24dc6e630 Let decorator stage 2 parsing be under a new plugin name
Parse stage 0 decorators when "decorators" plugin is active and
parse stage 2 decorators when "decorators-stage-2" plugin is active
2017-06-17 13:25:21 +05:30
Kevin Gibbons
06afa0761b Update decorator parsing to match current spec
Refer to PR #353
2017-06-17 13:23:30 +05:30
Daniel Tschinder
e11794c735 Add back shorthand field to Property (#580)
Also add some better types for estree
2017-06-17 01:05:32 +02:00
Nicolò Ribaudo
6b4fba4deb The { after a function generic type annotation is a statement (#578)
This would have previously been interpreted as an expression,
because usually after ">" there can't be a statement.

Fixes #36
2017-06-15 09:39:39 -05:00
Andy
50ae16de38 Factor parseSubscript out of parseSubscripts (#576) 2017-06-14 00:26:12 +02:00
Henry Zhu
2b7fab87d0 fix flow 2017-06-06 11:49:24 -04: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
Sven SAULEAU
e064bb9135 Merge pull request #545 from xtuc/feat-optional-chaining
Optional Chaining: Stage 1 plugin
2017-06-05 23:13:16 +02:00
Daniel Tschinder
775dcfa6d6 Improve performance by removing all spread/rest usages (#561) 2017-06-05 19:21:41 +02:00
Michal Srb
bbc3cd45cf Fix location info on FunctionTypeParam nodes (#565) 2017-06-05 12:41:46 -04:00
Daniel Tschinder
0656717552 Fix stmt value being the raw value (#557) 2017-06-03 16:16:45 +02: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
Sven SAULEAU
c1702e1da6
fix: minor change 2017-05-30 20:16:13 +02:00
Sven SAULEAU
9bcd85acf3
feat: CallExpression support 2017-05-30 20:12:43 +02:00
Sven SAULEAU
26096d6a3d
style: [skip ci] updated comment 2017-05-30 18:38:50 +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
Andy
50694f99b1 Extract 'parseClassMember' method (#533) 2017-05-26 23:44:56 -04:00
Brian Ng
aad95c63ec Fix some flow unused warnings (#543) 2017-05-26 23:44:36 -04: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
aardito2
557696da3a Fixed disappearing comments following a trailing comma on the last property of an object literal or the last argument of a call expression (#478) 2017-05-22 17:02:02 -04:00
Andy
2541ab5fda Simplify PrivateName and ClassPrivateProperty types (#532)
* Simplify PrivateName and ClassPrivateProperty types

* ClassPrivateProperty is not a ClassMemberBase; can't be static, can't be computed
2017-05-22 13:42:32 -04:00