Ingvar Stepanyan
4c318166e1
Added complete TCO (tail call optimization).
...
Works across functions and generates simpler and faster code than #701 .
Works even across files when used in conjunction with `runtime` option.
Closes #256 .
2015-02-07 22:22:38 +02:00
Sebastian McKenzie
c0af67eca1
add support for super in object literals - fixes #411
2015-02-08 02:01:17 +11:00
Sebastian McKenzie
eb14f1da00
implement optional TDZ - fixes #563
2015-02-08 01:27:22 +11:00
Sebastian McKenzie
8a143bf957
use a template in tail call transformer - @RReverser
2015-02-07 23:52:35 +11:00
Sebastian McKenzie
eb1ae70bfa
Merge pull request #701 from RReverser/master
...
Add tail recursion optimization.
2015-02-07 23:37:43 +11:00
Ingvar Stepanyan
b53b41cef3
Provide placeholders for proper function length.
2015-02-07 14:26:03 +02:00
Sebastian McKenzie
e75ce94578
move reactCompat option onto an optional transformer
2015-02-07 15:59:00 +11:00
Ingvar Stepanyan
5b2216b348
Add tail recursion optimization.
...
As per ES6, VMs should perform tail call optimization and prevent growth of call stack.
This adds tail call optimization for recursion case (when function has explicit name and calls itself in `return`).
Cross-function optimization is not currently performed as it's more complicated and requires value tracking.
2015-02-06 16:34:35 +02:00
Sebastian McKenzie
ad60d49611
fix bindingEquals in constants transformer
2015-02-06 23:35:19 +11:00
Sebastian McKenzie
a6d1a5a724
add bindingEquals, typeEquals, referenceEquals helper methods to Scope
2015-02-06 23:07:10 +11:00
Sebastian McKenzie
399d835285
fix linting errors
2015-02-06 23:06:54 +11:00
Sebastian McKenzie
b66367ddde
change namespace of minification.propertyLiterals and minifciation.memberExpressionLiterals to es3
2015-02-06 22:42:16 +11:00
Sebastian McKenzie
76ae1682a3
remove context arg in favor of this, rename TraversalIteration to TraversalPath, and remove ast handlers
2015-02-06 01:47:43 +11:00
Sebastian McKenzie
2ef0aa95c5
clean up indentation
2015-02-06 01:17:42 +11:00
Sebastian McKenzie
f365cc1248
more internal rearchitecturing
2015-02-05 14:05:15 +11:00
Sebastian McKenzie
386e221a0f
don't override core supported member expressions if there's a local binding
2015-02-05 09:53:12 +11:00
Sebastian McKenzie
dc7e963c9f
style fixes
2015-02-05 08:27:59 +11:00
Sebastian McKenzie
4b2cf2e2c5
fix styling errors
2015-02-04 23:24:08 +11:00
Sebastian McKenzie
23b8c72e9a
remove unused traverse requires
2015-02-04 23:22:26 +11:00
Sebastian McKenzie
d6b39bc89b
HomeObject isn't dynamic - fixes #690
2015-02-04 18:47:58 +11:00
Sebastian McKenzie
39fe737cb6
rename es7.objectSpread transformer to es7.objectRestSpread
2015-02-04 18:35:43 +11:00
Sebastian McKenzie
37ef976515
more cleanup of the destructuring transformer
2015-02-04 18:21:10 +11:00
Sebastian McKenzie
fa5a3022d4
clean up destructuring transformer
2015-02-04 17:48:27 +11:00
Sebastian McKenzie
58bed088f5
throw an error when destructuring a null or undefined value on an empty object pattern - fixes #681
2015-02-04 17:35:24 +11:00
Sebastian McKenzie
4f023e83f8
refactor traversals that have scopes to use the scope helper method
2015-02-04 13:25:23 +11:00
Sebastian McKenzie
7d950cd60a
i made the javascripts faster with a transformer prepass to check what transformers actually have to be ran
2015-02-04 12:56:34 +11:00
Sebastian McKenzie
ffc9244f88
make #683 more inline with the official jsx compiler
2015-02-04 10:38:35 +11:00
Sebastian McKenzie
5a81d22167
Merge pull request #683 from caseywebdev/concat-string-literals
...
Concatenate adjacent string literals in JSX
2015-02-04 10:22:51 +11:00
Sebastian McKenzie
55f2cffc22
fix linting errors
2015-02-04 10:05:20 +11:00
Sebastian McKenzie
8d81a382f7
inline back the super constructor call helper - fixes #684
2015-02-04 08:39:45 +11:00
Sebastian McKenzie
49847e70af
add some minification transformers
2015-02-04 08:23:58 +11:00
Casey Foster
2562b0c201
Concatenate adjacent string literals in JSX
2015-02-03 10:46:54 -06:00
Sebastian McKenzie
239369314c
more scope refactoring - fixes #676
2015-02-03 20:06:27 +11:00
Sebastian McKenzie
f2d1fc47d1
Merge branch 'master' of github.com:6to5/6to5
2015-02-03 19:55:29 +11:00
Sebastian McKenzie
a9405e5e80
clean up scope API
2015-02-03 19:33:32 +11:00
Jay Phelps
9880990fa7
First pass at converting identifiers/words from en-au -> en-us
2015-02-03 00:08:43 -08:00
Sebastian McKenzie
72de8f5c9b
fix class tests to reflect new call behaviour
2015-02-03 15:35:24 +11:00
Sebastian McKenzie
895d965568
fix linting errors
2015-02-03 15:17:33 +11:00
Sebastian McKenzie
3a11c7d46b
as per "ES6 February 2, 2015 Draft Rev 32" "Constructors defined using class definition syntax throw when called as functions"
2015-02-03 15:16:16 +11:00
Sebastian McKenzie
630f1717f0
clean up scope collision tracking and constants transformer - fixes #331
2015-02-03 13:20:52 +11:00
Sebastian McKenzie
e6e93840a6
check for scope collisions in constants transformer - fixes #331
2015-02-03 12:03:38 +11:00
Sebastian McKenzie
b2ad79cf88
rename t.getDeclarations to the WAY more reflective t.getBindingIdentifiers
2015-02-03 12:03:21 +11:00
Sebastian McKenzie
706797eb47
rename LetScoping to BlockScoping
2015-02-03 10:23:56 +11:00
Sebastian McKenzie
4413da8d6e
fix up whitespace on non empty last line JSX literals - fixes #668
2015-02-03 09:31:30 +11:00
Sebastian McKenzie
8e23d623c8
split up util.pushMutatorMap and util.buildDefineProperties
2015-02-03 09:30:52 +11:00
Sebastian McKenzie
e712c5225b
use the current file basename for the displayName of export default React.createClass - 6to5/6to5-sublime#21
2015-02-02 23:48:03 +11:00
Sebastian McKenzie
f9a26fd903
better optimisation base
2015-02-02 20:28:34 +11:00
Sebastian McKenzie
0b33a62032
fix linting errors
2015-02-02 10:48:18 +11:00
Sebastian McKenzie
fb360039ce
remap top level this to undefined - #562
2015-02-02 10:44:17 +11:00
Sebastian McKenzie
8a9aac3e68
fix linting errors
2015-02-02 01:37:27 +11:00