fix corner case in unused (#5847)

fixes #5843
This commit is contained in:
Alex Lam S.L
2024-06-17 04:36:02 +03:00
committed by GitHub
parent 8dc99fa25f
commit 87c9edbbc7
5 changed files with 61 additions and 6 deletions

View File

@@ -1382,7 +1382,7 @@ side_effects_object: {
}
}
expect: {
var a = null, c = (console, 42["c"]);
var a = null, c = (console, 42..c);
try {
c[a = "PASS"];
} catch (e) {
@@ -1684,7 +1684,7 @@ singleton_1: {
expect: {
var b, a = "P"[0], o = {};
o.p = [ "FAIL"["1"] ][0];
o.q = { foo: "S"[0] }["foo"];
o.q = { foo: "S"[0] }.foo;
[ b = "S" ] = [];
console.log(a + o.p + o.q + b);
}
@@ -3886,3 +3886,54 @@ issue_5651: {
expect_stdout: true
node_version: ">=6"
}
issue_5843_1: {
options = {
unused: true,
}
input: {
var { p: a } = {
__proto__: {
p: "PASS",
},
};
console.log(a);
}
expect: {
var a = {
__proto__: {
p: "PASS",
},
}.p;
console.log(a);
}
expect_stdout: "PASS"
node_version: ">=6"
}
issue_5843_2: {
options = {
side_effects: true,
unused: true,
}
input: {
var a;
({ p: a } = {
__proto__: {
p: "PASS",
},
});
console.log(a);
}
expect: {
var a;
a = {
__proto__: {
p: "PASS",
},
}.p;
console.log(a);
}
expect_stdout: "PASS"
node_version: ">=6"
}