@@ -205,12 +205,16 @@ merge(Compressor.prototype, {
|
||||
}
|
||||
}
|
||||
if (node instanceof AST_VarDef) {
|
||||
var d = node.name.definition();
|
||||
if (d.fixed === undefined) {
|
||||
d.fixed = node.value || make_node(AST_Undefined, node);
|
||||
mark_as_safe(d);
|
||||
if (node.name instanceof AST_Destructuring) {
|
||||
node.name.walk(suppressor);
|
||||
} else {
|
||||
d.fixed = false;
|
||||
var d = node.name.definition();
|
||||
if (d.fixed === undefined) {
|
||||
d.fixed = node.value || make_node(AST_Undefined, node);
|
||||
mark_as_safe(d);
|
||||
} else {
|
||||
d.fixed = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
var iife;
|
||||
|
||||
@@ -251,3 +251,45 @@ destructuring_dont_evaluate_with_undefined_as_default_assignment: {
|
||||
[foo = void 0] = bar;
|
||||
}
|
||||
}
|
||||
|
||||
reduce_vars: {
|
||||
options = {
|
||||
reduce_vars: true,
|
||||
}
|
||||
input: {
|
||||
{const [aa, [bb, cc]] = dd;}
|
||||
{let [aa, [bb, cc]] = dd;}
|
||||
var [aa, [bb, cc]] = dd;
|
||||
[aa, [bb, cc]] = dd;
|
||||
{const {aa, bb: {cc, dd}} = {aa:1, bb: {cc:2, dd: 3}};}
|
||||
{let {aa, bb: {cc, dd}} = {aa:1, bb: {cc:2, dd: 3}};}
|
||||
var {aa, bb: {cc, dd}} = {aa:1, bb: {cc:2, dd: 3}};
|
||||
({aa, bb: {cc, dd}} = {aa:1, bb: {cc:2, dd: 3}});
|
||||
const [{a},b] = c;
|
||||
let [{a},b] = c;
|
||||
var [{a},b] = c;
|
||||
[{a},b] = c;
|
||||
for (const [x,y] in pairs);
|
||||
for (let [x,y] in pairs);
|
||||
for (var [x,y] in pairs);
|
||||
for ([x,y] in pairs);
|
||||
}
|
||||
expect: {
|
||||
{const [aa, [bb, cc]] = dd;}
|
||||
{let [aa, [bb, cc]] = dd;}
|
||||
var [aa, [bb, cc]] = dd;
|
||||
[aa, [bb, cc]] = dd;
|
||||
{const {aa, bb: {cc, dd}} = {aa:1, bb: {cc:2, dd: 3}};}
|
||||
{let {aa, bb: {cc, dd}} = {aa:1, bb: {cc:2, dd: 3}};}
|
||||
var {aa, bb: {cc, dd}} = {aa:1, bb: {cc:2, dd: 3}};
|
||||
({aa, bb: {cc, dd}} = {aa:1, bb: {cc:2, dd: 3}});
|
||||
const [{a},b] = c;
|
||||
let [{a},b] = c;
|
||||
var [{a},b] = c;
|
||||
[{a},b] = c;
|
||||
for (const [x,y] in pairs);
|
||||
for (let [x,y] in pairs);
|
||||
for (var [x,y] in pairs);
|
||||
for ([x,y] in pairs);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user