658 Commits

Author SHA1 Message Date
Zoe Carver
ef8e30419c Add yield-result (#737) 2017-09-27 11:00:14 -05:00
Nicolò Ribaudo
4de29fe5e6 Distinguish between ternary's : and arrow fn's return type (#596) 2017-09-26 00:32:52 +02:00
James Kyle
d9766932db Ensure no-overlap between Flow and TS node types (#710) 2017-09-25 15:42:33 -04:00
Zoe Carver
a4acf2da6d Clean up uncatagorised decorators (1/2) (#731)
* Re-name uncatagorised 1 and 2

* Move to es2015

* Add expected.json to parenthesized lhs object

* Orginize into parenthesized-lhs-array and parenthesized-lhs-object

* Remove uncategorised/33 because it was repeditive decorators/class-decorator

* Move uncatagorised/34 to decorators/class-decorator-assignment

* Move uncategorised/35 to decorators/method-decorator

* Move uncategorised/36 to decorators/class-decorator-setter

* Move uncategorised/37 to decorators/class-decorator-getter

* Move uncategorised/38 to decorators/class-decorators-multiple

* Clean up syntax

* Move uncategorised/39 to decorators/object-decorator

* Remove syntax in order to pass tests

* Re-add uncategorisd/33 as decorators/class-decorator-new-line

* Move class-decorator-new-line to class-decorator-same-line
2017-09-24 16:33:01 -04:00
Zoe Carver
bfd9c7ba50 Clean up uncategorised tests (#730) 2017-09-21 16:12:36 -05:00
Justin Ridgewell
1f11dc0881 classPrivateMethods enables PrivateName usage
This separates `classPrivateMethods`'s dependency on
`classPrivateProperties`. It also starts a `PrivateName` at the hash
symbol, not the `Identifier`.
2017-09-17 21:24:37 -04:00
Karl Cheng
65bea96544 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
2017-09-06 18:09:12 -04:00
Brian Ng
55f38933bf
Add allowPrimitiveOverride option to flowParseTypeAnnotatableIdentifier 2017-08-29 14:11:50 -05:00
Daniel Tschinder
19c099d116 Use expectPlugin 2017-08-28 17:31:58 -04:00
Daniel Tschinder
96bd271495 Fix tests 2017-08-28 17:31:58 -04:00
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
Brian Ng
2f76fc88be Fix regression with generic type and jsx (#702) 2017-08-28 14:51:37 -06: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
Brian Ng
6ba38a2a78 Merge pull request #693 from babel/trailing-comma-rest-param
Raise error if trailing comma after rest element in async func params
2017-08-25 20:12:59 -05:00
Brian Ng
af2c974473
Fix TypeScript TypeParameterDeclaration location start values 2017-08-25 09:54:16 -05:00
James Henry
87b322cfc2
Add failing test case 2017-08-25 09:49:03 -05:00
Brian Ng
65db277364
Raise error if trailing comma after rest element in async func params 2017-08-24 21:59:01 -05:00
Brian Ng
c441afeaa6
Improve error message for comma after rest element in arrow func 2017-08-24 21:28:19 -05:00
Brian Ng
2bc124bf49
Fix some cases of keywords with escape sequences 2017-08-24 19:27:09 -05:00
Brian Ng
5e60ad6688
Fix some cases of invalid labeled declarations 2017-08-24 19:00:52 -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
James Henry
d0c7d7a8c7 Fix: Use parseExprAtom() for TS module id string (#684) 2017-08-20 10:38:55 -05:00
Andy
d565eca976 Don't enable class properties just because "typescript" plugin is enabled (#666) 2017-08-08 20:51:57 -05:00
Andy
00ad6d8310 Fix conflict between "typescript" and "exportExtensions" plugins (#664)
* Fix conflict between "typescript" and "exportExtensions" plugins

* `==` -> `===`
2017-08-08 22:30:08 +02:00
Nicolò Ribaudo
7353a38846 Arrow fns can't be used as the left side of a binary or ternary expression (#559)
* Arrow fns can't be used as the left side of a binary or ternary expression

Fixes #536

* Add test for logical expression with arrow function

* Fix eslint
2017-08-05 00:27:11 +02:00
Naveen jain
0c11af8fc5 Fix #656 (#659)
* Fix #656

* Fix #656
2017-08-04 11:54:03 +02:00
Nicolò Ribaudo
eee1a3854e Alow regex after "of" in for(...of...) (#579)
Fixes #456
2017-08-03 09:11:31 -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
jbrown215
e7e7593ca5 Flow opaque type aliases parsing (#643)
* Add support for Flow opaque type aliases

* Add tests for Flow opaque type aliases
2017-07-21 10:48:28 -04: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
Brian Ng
77bdb9ae3e Reorganize new.target tests (#642) 2017-07-20 16:17:40 -05:00
Brian Ng
a46f87f726 Check for function when parsing export async (#639) 2017-07-19 14:03:49 -04:00
Joseph Frazier
f9b8fa1ddf Add comments property to babylon.parseExpression() result 2017-07-14 09:22:23 -05:00
Brian Ng
688a1e523e Fix parsing a <!-- b in modules (#626) 2017-07-14 09:16:31 -05:00
Brian Ng
63143ea5e9 Fix incorrect parsing of %* (#624) 2017-07-13 15:04:05 -05:00
Nicolò Ribaudo
b0c3a9dcdd Add support for flow's export type * from (#617) 2017-07-11 22:56:04 -05: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
Brian Ng
5180ecdca4 Use prettier (#600) 2017-06-28 12:41:42 -04:00
Andy
97c23461f9 TypeScript parser plugin (#523) 2017-06-28 10:57:50 -04:00
Henry Zhu
f7547fd35a Use the string "module" in err message (#598) 2017-06-28 10:46:30 -04:00
Nicolò Ribaudo
03b3b39b17 Allow jsx to be the body of a typed arrow function (#595)
Fixes #593
2017-06-28 10:17:51 -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
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