Commit Graph

531 Commits

Author SHA1 Message Date
Fábio Santos
a92a14d171 Remove unused state variable in_parameters, and also remove unreachable code (try_an_object always returned an object!) 2016-03-22 11:41:00 +02:00
Fábio Santos
2a24fa8d2b prefixed template strings, like "String.rawfoo\nbar". 2016-03-22 11:41:00 +02:00
Fábio Santos
e0b78bfa5f Parse and output ES6 template strings. Yikes! 2016-03-22 11:41:00 +02:00
Fábio Santos
a54b64d660 What about --mangle-props being on and --mangle being off? 2016-03-22 11:41:00 +02:00
Fábio Santos
2d74aca46a play nice with propmangle 2016-03-22 11:41:00 +02:00
Fábio Santos
cfb1b5d848 Starting destructuring expressions 2016-03-22 11:41:00 +02:00
Fábio Santos
048eac6b29 Tolerate expansions in vardefs, too! 2016-03-22 11:41:00 +02:00
Fábio Santos
a170ad9d0d Destructuring vardef in for..of and for..in 2016-03-22 11:41:00 +02:00
Fábio Santos
d757202b74 Do not mangle a name if it is in a destructuring vardef. 2016-03-22 11:41:00 +02:00
Fábio Santos
a3a4ae5ef8 Add holes in destructuring defs, also make them nestable 2016-03-22 11:40:44 +02:00
Fábio Santos
3b189f86ff Parse and compress destructuring VarDefs 2016-03-22 11:40:44 +02:00
Fábio Santos
5efbe1604e A little refactoring. Add a new function to get all symbols in a destructuring. 2016-03-22 11:40:44 +02:00
Fábio Santos
16e928348b prepare AST_Destructuring for the Ents 2016-03-22 11:40:44 +02:00
Fábio Santos
ebd0682376 Add new-style octal literals and make the B and the O case insensitive. 2016-03-22 11:40:44 +02:00
Fábio Santos
ac1d3f0e88 remove Symbol's argument when we're unsafe and it's undeclared 2016-03-22 11:40:44 +02:00
Fábio Santos
6f93a8d4a1 Fix evaluating the typeof an arrow function. Using evaluate on used to cause a crash. 2016-03-22 11:40:44 +02:00
Fábio Santos
a4d6ed076a Parse binary number literals 2016-03-22 11:40:44 +02:00
Fábio Santos
0a4270b358 Super! 2016-03-22 11:40:26 +02:00
Fábio Santos
7f825c8244 expand parameters
Conflicts:
	test/compress/harmony.js
2016-03-22 11:40:26 +02:00
Fábio Santos
df95318e8b => with destructuring arguments. Requires a lot of parser changes 2016-03-22 11:40:26 +02:00
Fábio Santos
aa127457d5 Adding arrow functions 2016-03-22 11:40:26 +02:00
Fábio Santos
e4b87bface for...of 2016-03-22 11:39:49 +02:00
Fábio Santos
8ca033e7f2 Add a test to verify that destructuring arguments work with #203 code 2016-03-22 11:39:49 +02:00
Fábio Santos
3f87afdb2c test that names used in destructurings don't get hoisted 2016-03-22 11:39:49 +02:00
Fábio Santos
708001d2f5 do not support destructuring arguments and ngInject 2016-03-22 11:39:49 +02:00
Fábio Santos
6645da0ea2 remove trace statement 2016-03-22 11:39:49 +02:00
Fábio Santos
aaa8f25bf0 Starting destructuring. 2016-03-22 11:39:49 +02:00
philippsimon
ee6c9fabb7 Fix: Uglified Number.prototype functions on big numbers 2016-03-14 12:41:06 +01:00
kzc
102d1b9137 #877 Ignore mangle sort option 2016-02-27 15:33:10 -05:00
kzc
11b0efdf84 boolean_expression ? true : false --> boolean_expression 2016-02-22 17:59:36 +01:00
kzc
5486b68850 Take operator || precendence into account for AST_If optimization.
Fixes #979.
2016-02-21 12:05:02 -05:00
alexlamsl
6547437725 preserve ThisBinding for side_effects 2016-02-17 19:34:01 +01:00
Richard van Velzen
9662228f6a Don't compress (0, eval)() to eval() 2016-02-16 19:00:48 +01:00
alexlamsl
31a9b05c96 Preserve ThisBinding in conditionals & collapse_vars
Fixes #973
2016-02-16 18:47:49 +01:00
sergeyv
7a4ed9d200 Revert "using the original sourcemap as the base"
This reverts commit ad18689d92.

Reason for revert: introduce issue #882

Currently, generated sourcemap contains copy of all existing mappings and adds new mappings from uglified code to original one.
However, previous mapping are no longer valid and shouldn't be added.
2016-02-10 10:19:39 +01:00
kzc
7c3fee9e31 collapse_vars: avoid replacement across AST_Case nodes to be on safe side even though no issues seen. 2016-01-29 10:35:07 -05:00
kzc
929de2b0de collapse_vars: fix if/else and ternary operator side effects 2016-01-28 12:17:06 -05:00
kzc
af2472d85e collapse_vars: fix bug in repeated var defs of same name 2016-01-28 16:48:50 +01:00
kzc
0a38a688f9 fix bug in collapse_vars for right side of "||" and "&&" 2016-01-27 14:18:46 -05:00
kzc
f4c2ea37bf Collapse single use var definitions
Fix #721
2016-01-27 11:48:15 +02:00
Mihai Bazon
915f907186 Add start/end in the arguments definition
(keeps my https://github.com/mishoo/jsinfo.el working)
2016-01-27 11:36:03 +02:00
Richard van Velzen
b5a7197ae5 Merge pull request #928 from STRML/constPragma
Mark vars with /** @const */ pragma as consts so they can be eliminated.
2016-01-20 19:04:36 +01:00
Samuel Reed
1b703349cf
Tighten up @const regex. 2016-01-20 11:35:45 -06:00
Samuel Reed
4a7179ff91
Simplify by skipping extra tree walk. 2016-01-20 11:03:41 -06:00
Samuel Reed
f97da4294a
Use TreeWalker for more accurate @const results and update tests 2016-01-20 10:54:00 -06:00
Samuel Reed
8b71c6559b
Mark vars with /** @const */ pragma as consts so they can be eliminated.
Fixes older browser support for consts and allows more flexibility
in dead code removal.
2016-01-19 13:23:02 -06:00
Anthony Van de Gejuchte
26641f3fb2 Allow operator names as getters/setters
Fixes #919

Fix provided by @kzc
2016-01-19 19:28:51 +01:00
Anthony Van de Gejuchte
70e5b6f15b Add some tests for comment-filters through api
Also never bother comment options to filter comment5/shebang comments
as they have their custom filter.
2016-01-19 19:14:19 +01:00
Anthony Van de Gejuchte
6605d15783 Never mangle arguments and keep them in their scope
Fixes #892

Helped-by: kzc
2016-01-14 19:45:52 +01:00
Richard van Velzen
ac8db977b9 Merge pull request #905 from avdg/unit-tests
Add unit tests
2016-01-14 08:54:40 +01:00