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