Richard van Velzen
e4d73d8b7c
Merge pull request #870 from fabiosantoscode/feature/harmony-class
...
Harmony: classes
2015-12-07 18:59:07 +01:00
Fábio Santos
a800356ad0
Implement new.target
2015-11-21 14:48:23 +00:00
Fábio Santos
e076abdbf2
Mangle class names correctly
2015-11-21 13:59:18 +00:00
Fábio Santos
425613b0d2
mangle class names
2015-11-21 12:20:20 +00:00
Fábio Santos
69da8e53e0
Separate class expressions from class declarations and their symbols like defuns
2015-11-21 09:17:32 +00:00
Fábio Santos
bb6b3a773a
Make AST_Class inherit AST_Scope instead of AST_Object
...
This is one of those days I'd love to use multiple inheritance.
An AST_Class has lots of common with AST_Object, but unfortunately
`instanceof AST_Scope` is used very, very much, and a class has its name
inside its own special pocket scope. This compels me to make AST_Class
inherit Scope instead.
It looks like, although there is much in common with AST_Object,
`instanceof AST_Object` seldom are made, perhaps because it is less
often necessary to traverse an object than a scope.
2015-11-20 19:34:10 +00:00
Richard van Velzen
392ac4ff31
Merge branch 'master' into harmony
2015-10-28 20:38:07 +01:00
Michael Ficarra
a887cde9f2
fixes #845 : \v escaping should be restricted to "screw_ie8" mode
2015-10-27 09:05:21 -07:00
Fábio Santos
9ffed2bea6
static properties
2015-10-27 12:24:37 +00:00
Fábio Santos
5f7cb6939c
Starting ES6 classes
2015-10-27 12:24:37 +00:00
Fábio Santos
64e7a00399
Accept keyword names as concise method names
2015-10-27 09:31:16 +01:00
Fábio Santos
c99eaae360
Make concise methods work with propmangle
2015-10-27 09:31:16 +01:00
Fábio Santos
34213ea2f8
Create a new symbol for methods' names
2015-10-27 09:31:16 +01:00
Fábio Santos
0d8dea9538
start concise methods
2015-10-27 09:31:16 +01:00
Fábio Santos
2cce61c564
Allow 'of' to be a name.
2015-10-26 20:56:59 +00:00
Richard van Velzen
246ec416c0
Merge branch 'master' into harmony
2015-10-20 21:58:58 +02:00
Fábio Santos
b5623b19d4
Fix #836
2015-10-20 19:48:56 +01:00
Richard van Velzen
6be9c752d5
Merge branch 'master' into harmony
2015-10-20 20:12:10 +02:00
startswithaj
6b2861e086
Make_string was missing \v and wasnt reversing vertical tabs even though read_escaped_char coverts them
2015-10-15 17:42:16 +10:00
kzc
dff54a6552
Fix other operator output related to <!-- or -->
2015-10-13 01:17:10 -04:00
Fábio Santos
b31918bbf0
computed properties
2015-10-12 21:38:20 +01:00
Mihai Bazon
17eef5a3c2
Only encode <!-- and --> in strings when inline_script
2015-10-12 10:21:22 +03:00
kzc
9f1f21b810
Output -- > instead of --> in expressions. Escape <!-- and --> within string literals.
2015-10-12 10:19:17 +03:00
Richard van Velzen
b14496c742
Merge branch 'master' into harmony
...
Conflicts:
lib/compress.js
2015-10-12 08:54:44 +02:00
kzc
4d2f7d83af
Fix handling of "use asm" when no command line flags are passed to uglifyjs. SCOPE_IS_NEEDED is unconditionally true now. Refactored floating point literal parsing to be more in keeping with the AST class design.
2015-10-07 13:10:53 -04:00
kzc
593677d2ff
Add proper support for "use asm"; blocks. Disable -c optimization within "use asm"; sections and preserve floating point literals in their original form. Non-asm.js sections are optimized as before. Asm.js sections can still be mangled and minified of whitespace. No special command line flags are required.
2015-10-07 10:00:28 +02:00
Anthony Van de Gejuchte
c69294c449
Implement shebang support
2015-10-06 22:35:45 +02:00
Mihai Bazon
6637c267a5
Fix mozilla-ast after module loading changes
...
Need to explicitly qualify stuff now, since it's not evaluated in some
global scope.
Ref #636
2015-09-24 18:13:21 +03:00
Mihai Bazon
99233c44cc
No longer use vm to load code.
...
Improves performance 2x on node > 0.10.
Ref #636
2015-09-24 17:58:51 +03:00
Mihai Bazon
33528002b4
Fix wrap_commonjs to include code first
...
(code could have directives, i.e. "use strict")
2015-09-24 17:58:51 +03:00
Ville Lautanala
5fd12451f9
Control keeping function arguments with a single option
2015-09-14 19:38:45 +02:00
Richard van Velzen
991fa99655
Merge branch 'master' into harmony
2015-09-13 14:17:45 +02:00
Fábio Santos
dde9e293df
parse, output the let statement
2015-09-13 14:15:53 +02:00
Richard van Velzen
34685a6f55
Merge pull request #794 from fabiosantoscode/feature/harmony-template-strings-2
...
Harmony: template strings
2015-09-08 21:23:41 +02:00
Fábio Santos
2fac2bbfe4
Remove unused state variable in_parameters, and also remove unreachable code (try_an_object always returned an object!)
2015-09-05 23:01:29 +01:00
Fábio Santos
242c61be94
prefixed template strings, like "String.rawfoo\nbar".
2015-09-05 22:48:38 +01:00
Fábio Santos
e1cb1a0e3c
Parse and output ES6 template strings. Yikes!
2015-09-05 22:32:57 +01:00
Richard van Velzen
fcde6109b0
Fix bad parsing of new new x()() constructs
...
Fixes #739
2015-08-27 12:29:36 +03:00
Fábio Santos
adee5023c0
What about --mangle-props being on and --mangle being off?
2015-08-25 17:52:51 +01:00
Fábio Santos
7ee8f3512e
play nice with propmangle
2015-08-25 17:49:29 +01:00
Fábio Santos
dc5db9b6ca
Starting destructuring expressions
2015-08-25 17:49:27 +01:00
Richard van Velzen
e3bd223dac
Don't change sequences that influence lexical binding in calls
...
Fixes #782
2015-08-25 10:53:35 +02:00
Fábio Santos
079aaa0d48
Tolerate expansions in vardefs, too!
2015-08-21 12:04:26 +02:00
Fábio Santos
d4f17f29ae
Destructuring vardef in for..of and for..in
2015-08-21 12:04:26 +02:00
Fábio Santos
e99bc914ca
Do not mangle a name if it is in a destructuring vardef.
2015-08-21 12:04:26 +02:00
Fábio Santos
025d34bfa2
Add holes in destructuring defs, also make them nestable
2015-08-21 12:04:26 +02:00
Fábio Santos
c44c2d6c21
Parse and compress destructuring VarDefs
2015-08-21 12:04:26 +02:00
Fábio Santos
824ecfb8a2
A little refactoring. Add a new function to get all symbols in a destructuring.
2015-08-21 12:04:26 +02:00
Fábio Santos
ceebc466b9
prepare AST_Destructuring for the Ents
2015-08-21 12:04:26 +02:00
Richard van Velzen
35b31bdd4e
Merge branch 'master' into harmony
2015-08-21 11:58:35 +02:00