fix side_effects on AST_Class

fixes #2028
This commit is contained in:
alexlamsl 2017-05-31 00:55:10 +08:00
parent 23265ac253
commit 29e4ab2713
2 changed files with 37 additions and 1 deletions

View File

@ -251,7 +251,7 @@ merge(Compressor.prototype, {
}) })
}); });
} }
if (node instanceof AST_Lambda && node !== self) { if (node instanceof AST_Class || node instanceof AST_Lambda && node !== self) {
return node; return node;
} }
if (node instanceof AST_Block) { if (node instanceof AST_Block) {

View File

@ -583,3 +583,39 @@ class_extends_regex: {
} }
expect_exact: "function f(){class rx1 extends(/rx/){}}" expect_exact: "function f(){class rx1 extends(/rx/){}}"
} }
issue_2028: {
options = {
side_effects: true,
}
input: {
var a = {};
(function(x) {
x.X = function() {
return X;
};
class X {
static hello() {
console.log("hello");
}
}
}(a));
a.X().hello();
}
expect: {
var a = {};
(function(x) {
x.X = function() {
return X;
};
class X {
static hello() {
console.log("hello");
}
}
}(a));
a.X().hello();
}
expect_stdout: "hello"
node_version: ">=6"
}