enhance collapse_vars (#1862)
- extend expression types
- `a++`
- `a=x;`
- extend scan range
- `for(init;;);`
- `switch(expr){case expr:}`
- `a = x; a = a || y;`
- terminate upon `debugger;`
closes #1821
fixes #27
fixes #315
fixes #1858
This commit is contained in:
@@ -1114,3 +1114,36 @@ issue_1838: {
|
||||
"}",
|
||||
]
|
||||
}
|
||||
|
||||
var_catch_toplevel: {
|
||||
options = {
|
||||
conditionals: true,
|
||||
negate_iife: true,
|
||||
reduce_vars: true,
|
||||
side_effects: true,
|
||||
toplevel: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
function f() {
|
||||
a--;
|
||||
try {
|
||||
a++;
|
||||
} catch(a) {
|
||||
if (a) var a;
|
||||
var a = 10;
|
||||
}
|
||||
}
|
||||
f();
|
||||
}
|
||||
expect: {
|
||||
!function() {
|
||||
a--;
|
||||
try {
|
||||
a++;
|
||||
} catch(a) {
|
||||
var a;
|
||||
}
|
||||
}();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user