enhance join_vars (#3783)
This commit is contained in:
@@ -804,7 +804,7 @@ collapse_vars_assignment: {
|
||||
function log(x) { return console.log(x), x; }
|
||||
function f0(c) {
|
||||
var a = 3 / c;
|
||||
return a = a;
|
||||
return a;
|
||||
}
|
||||
function f1(c) {
|
||||
return 1 - 3 / c;
|
||||
@@ -2012,6 +2012,7 @@ issue_1631_3: {
|
||||
join_vars: true,
|
||||
sequences: true,
|
||||
side_effects: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
function g() {
|
||||
@@ -2031,8 +2032,8 @@ issue_1631_3: {
|
||||
function f() {
|
||||
return a = 2, 4;
|
||||
}
|
||||
var a = 0, b = 1, t = f();
|
||||
return b = a + t;
|
||||
var a = 0, t = f();
|
||||
return a + t;
|
||||
}
|
||||
console.log(g());
|
||||
}
|
||||
|
||||
@@ -2444,3 +2444,21 @@ issue_3746: {
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
}
|
||||
|
||||
join_vars_assign: {
|
||||
options = {
|
||||
join_vars: true,
|
||||
unused: true,
|
||||
}
|
||||
input: {
|
||||
var y, x;
|
||||
x = Object("PAS");
|
||||
y = Object("S");
|
||||
console.log(x + y);
|
||||
}
|
||||
expect: {
|
||||
var x = Object("PAS"), y = Object("S");
|
||||
console.log(x + y);
|
||||
}
|
||||
expect_stdout: "PASS"
|
||||
}
|
||||
|
||||
@@ -767,18 +767,17 @@ issue_3071_1: {
|
||||
var obj = {};
|
||||
obj.one = 1;
|
||||
obj.two = 2;
|
||||
console.log(obj.one);
|
||||
console.log(obj.one, obj.two);
|
||||
})();
|
||||
}
|
||||
expect: {
|
||||
console.log(1);
|
||||
console.log(1, 2);
|
||||
}
|
||||
expect_stdout: "1"
|
||||
expect_stdout: "1 2"
|
||||
}
|
||||
|
||||
issue_3071_2: {
|
||||
options = {
|
||||
evaluate: true,
|
||||
hoist_props: true,
|
||||
inline: true,
|
||||
join_vars: true,
|
||||
@@ -793,19 +792,18 @@ issue_3071_2: {
|
||||
obj = {};
|
||||
obj.one = 1;
|
||||
obj.two = 2;
|
||||
console.log(obj.one);
|
||||
console.log(obj.one, obj.two);
|
||||
var obj;
|
||||
})();
|
||||
}
|
||||
expect: {
|
||||
console.log(1);
|
||||
console.log(1, 2);
|
||||
}
|
||||
expect_stdout: "1"
|
||||
expect_stdout: "1 2"
|
||||
}
|
||||
|
||||
issue_3071_2_toplevel: {
|
||||
options = {
|
||||
evaluate: true,
|
||||
hoist_props: true,
|
||||
inline: true,
|
||||
join_vars: true,
|
||||
@@ -821,14 +819,14 @@ issue_3071_2_toplevel: {
|
||||
obj = {};
|
||||
obj.one = 1;
|
||||
obj.two = 2;
|
||||
console.log(obj.one);
|
||||
console.log(obj.one, obj.two);
|
||||
var obj;
|
||||
})();
|
||||
}
|
||||
expect: {
|
||||
console.log(1);
|
||||
console.log(1, 2);
|
||||
}
|
||||
expect_stdout: "1"
|
||||
expect_stdout: "1 2"
|
||||
}
|
||||
|
||||
issue_3071_3: {
|
||||
|
||||
@@ -1875,8 +1875,8 @@ join_expr: {
|
||||
expect: {
|
||||
var c = "FAIL";
|
||||
(function() {
|
||||
var a = 0;
|
||||
switch (a = { b: 0 }, a.b) {
|
||||
var a = 0, a = { b: 0 };
|
||||
switch (a.b) {
|
||||
case 0:
|
||||
c = "PASS";
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user