Daniel Tschinder
1d9e509df2
Fix eslint ( #4897 )
...
* Fix eslint call
* Fix linting errors
2016-11-26 11:24:38 -05:00
Juriy Zaytsev
beda884f41
Make getBinding ignore labels; add Scope#getLabel, Scope#registerLabel ( #4758 )
...
* Make getBinding ignore labels; add Scope#getLabel, Scope#registerLabel
* generateUid: account for labels again
2016-10-21 17:19:59 -04:00
Dan Harper
f859830e54
Fix: export default arrows with function naming ( #4524 )
2016-09-19 21:58:37 -04:00
Boopathi Rajaa
477a72a975
Fix bug undefined reference for export declaration ( #3629 )
...
+ (Fix https://phabricator.babeljs.io/T7534 )
+ Export declaration class/function/var ids now add the export
declaration path as the referenced one.
2016-08-31 14:42:33 -04:00
dlwalsh
cdb465a834
remove repeating dependency from babel-traverse ( #3501 )
2016-05-16 09:54:37 -04:00
Amjad Masad
109d99bb5e
don't double count binding references ( #3465 )
...
When, for example, a function is moved between from one place to another we recrawl and end up double counting any references it holds to the upper scope. This protects against that. (The same thing is done for constant violations in the `reassign` method)
2016-05-13 17:20:32 -04:00
Jordan Klassen
dc1f40540d
Upgrade to lodash 4 ( #3315 )
...
* Upgrade to lodash 4
* Fix incorrect require in babel-runtime/scripts
* Replace cloneDeep with cloneDeepWith where applicable
2016-05-13 17:15:14 -04:00
Logan Smyth
c3ccddaaaf
Revert "Merge pull request #3433 from loganfsmyth/bail-out-rename"
...
This reverts commit 2d0a007d14e519fe60a849dd17068a0f3df79a28, reversing
changes made to e4d6d420415a0c290a321fb6c18ba5f19675b5c1.
2016-04-08 09:09:48 -07:00
Logan Smyth
078f6c0ed3
Only attempt to rename export declarations, not expressions - fixes T7215
2016-03-16 23:26:52 -07:00
Logan Smyth
80aa424b75
Invalidate the scope cache if a node is moved to a different path - fixes T7194
2016-03-12 14:21:21 -08:00
Amjad Masad
4abc03eef1
Rework logic that controls flowBinding warning
...
The flag to control whether we should warn didn't take into account
nested calls or scope chains. An easier approach is to have a
counter. That way we know for sure if we're somewhere deep inside a
crawl call or not.
2016-03-10 16:39:12 -08:00
Amjad Masad
5a081a8572
Update comment, reformat message
2016-03-10 13:00:45 -08:00
Amjad Masad
9f0dbf0234
Better warnings
2016-03-10 12:54:02 -08:00
Amjad Masad
7f4b57a7a4
Add warning instead of removing support
2016-03-10 12:35:15 -08:00
Amjad Masad
342f9d5eb5
Don't consider flow types as bindings
2016-03-10 11:48:14 -08:00
Amjad Masad
0200542e82
don't use Array.includes
2016-03-08 00:33:37 -08:00
Amjad Masad
77c7cc5363
Rework scope info updating in block-scoping transform
...
I previously tried an approach to scope bindings from var to scope but
it didn't catch all cases. This is evident in this bug:
https://phabricator.babeljs.io/T2892
Where even after transforming a const to a var we still get an error
that it's read-only.
This approach will go through and delete every existing let and const
binding and creates a new one with the kind "var"
2016-03-07 18:19:10 -08:00
Amjad Masad
fc19ac2af5
Remove merge artificats
2016-03-07 12:05:46 -08:00
Amjad Masad
403d6153fd
correct cache path
2016-03-07 12:04:44 -08:00
Amjad Masad
bf91a68375
Move scope cache to the cache module
2016-03-07 12:04:44 -08:00
Amjad Masad
3667527d04
Revert "Remove flow"
...
This reverts commit 2827ff6b01dcce69e9d3c0402e96b52b3a2a47ee.
2016-03-03 14:49:20 -08:00
Sam Goldman
2827ff6b01
Remove flow
2016-03-01 22:33:30 -08:00
Sebastian McKenzie
5b89849f43
Switch to klint, fix some lint rules
2016-02-14 23:25:14 +00:00
Amjad Masad
95c93dd22b
Method names should not be bound to body
...
As an artificat of compiling methods to named function expressions the
function name is being considered a "local" binding in the function
body. This means that we will throw errors anytime someone would want to
create a new local binding with the same name.
This is solved by assigning a symbol to function Identifiers that
indicates that they should not be considered local bindings.
2016-01-17 13:19:37 -08:00
Logan Smyth
afcfba2075
Only rename outer function bindings on conflict - fixes T6781
2015-12-13 15:35:28 -08:00
Amjad Masad
2a2cb4f160
Support ObjectProperty in purity check
2015-12-09 16:49:16 -08:00
Henry Zhu
14bad622f2
add second param
2015-12-07 15:20:30 -05:00
Amjad Masad
6601a6f737
Support unary expression in isPure check
2015-12-07 11:55:21 -08:00
Henry Zhu
d06cfe63c2
eslint: add space-after-keywords
2015-12-06 11:30:07 -05:00
Logan Smyth
a12a116b9f
Ensure that default exports have a name before splitting them - fixes T6750
2015-12-05 15:28:48 -08:00
Logan Smyth
8efd1d71ad
Properly resolve scope from switch statement - fixes T6761
2015-12-04 09:04:25 -08:00
Logan Smyth
d71b59d0cc
Ensure we always push into a BlockStatement - fixes T3051
2015-12-02 19:41:22 -08:00
phantom10111
36ebe0c939
Fix static class properties in class expressions and anonymous default exported classes - fixes T2983
2015-12-01 17:59:53 +01:00
Daniel Lo Nigro
0076204f80
Fix Flow.
...
Removed `@flow` annotation from files that don't actually pass Flow check at the moment. These will be added back file by file once the files are properly converted to use Flow.
Closes #3064
2015-11-15 21:30:22 -08:00
Sebastian McKenzie
b5b9794b3f
switch to symbols and add matches parent helper function to abstract out matching
2015-11-08 03:41:15 -08:00
phantom10111
22dc8f8323
Fix scope cache returning an item that was just inserted
2015-11-07 23:09:54 +01:00
Sebastian McKenzie
0370402a0d
fix lint errors
2015-11-06 20:55:05 -05:00
Sebastian McKenzie
bb1703e1a1
add header comment for scope cache function
2015-11-06 20:53:12 -05:00
Sebastian McKenzie
63cd3008d2
clean up parameter names in Scope constructor
2015-11-06 20:42:16 -05:00
Sebastian McKenzie
8dd292075a
clean up scope cache
2015-11-06 20:39:16 -05:00
Sebastian McKenzie
8ec3e16794
fix remaining outer binding identifier issues
2015-11-03 03:13:39 +00:00
Sebastian McKenzie
64a9a6027e
refactor t.getOuterBindingIdentifiers to only return the id if it's a function declaration
2015-11-03 03:05:57 +00:00
Sebastian McKenzie
e72d4508de
only use outer bindings when registering a binding to prevent retreiving function params - fixes #2615
2015-11-03 03:00:27 +00:00
Sebastian McKenzie
e62a00df50
rename NumberLiteral to NumericLiteral and RegexLiteral to RegExpLiteral
2015-11-03 01:19:35 +00:00
Sebastian McKenzie
d1d0ed901e
fix export of parameters when renaming the binding of exported functions - fixes #2753
2015-11-02 19:24:23 +00:00
Sebastian McKenzie
ae7d5367f1
6.0.0
...
I'm extremely stupid and didn't commit as I go. To anyone reading this
I'm extremely sorry. A lot of these changes are very broad and I plan on
releasing Babel 6.0.0 today live on stage at Ember Camp London so I'm
afraid I couldn't wait. If you're ever in London I'll buy you a beer
(or assorted beverage!) to make up for it, also I'll kiss your feet and
give you a back massage, maybe.
2015-10-29 17:51:24 +00:00
Sebastian McKenzie
fa88b1c00d
abstract out scope binding rename and handle function/class cases where we can retain the name with some ~magic~ - fixes #2435
2015-09-28 02:45:00 +01:00
Sebastian McKenzie
f770f337a4
add Scope#buildUndefinedNode method
2015-09-02 18:06:23 +01:00
Sebastian McKenzie
6ff53e35f3
cap uids based on nodes at 20 characters - fixes #2225
2015-09-02 18:05:33 +01:00
Sebastian McKenzie
15f73b4fc3
remove noisy comments/documentation
2015-09-01 04:56:03 +01:00