replace keep_fargs default to false (#4443)
This commit is contained in:
parent
2390fae5c4
commit
6988cd9558
|
|
@ -683,9 +683,9 @@ to be `false` and all symbol names will be omitted.
|
||||||
|
|
||||||
- `join_vars` (default: `true`) -- join consecutive `var` statements
|
- `join_vars` (default: `true`) -- join consecutive `var` statements
|
||||||
|
|
||||||
- `keep_fargs` (default: `strict`) -- Discard unused function arguments. Code
|
- `keep_fargs` (default: `false`) -- discard unused function arguments except
|
||||||
which relies on `Function.length` will break if this is done indiscriminately,
|
when unsafe to do so, e.g. code which relies on `Function.prototype.length`.
|
||||||
i.e. when passing `true`. Pass `false` to always retain function arguments.
|
Pass `true` to always retain function arguments.
|
||||||
|
|
||||||
- `keep_fnames` (default: `false`) -- Pass `true` to prevent the
|
- `keep_fnames` (default: `false`) -- Pass `true` to prevent the
|
||||||
compressor from discarding function names. Useful for code relying on
|
compressor from discarding function names. Useful for code relying on
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ function Compressor(options, false_by_default) {
|
||||||
if_return : !false_by_default,
|
if_return : !false_by_default,
|
||||||
inline : !false_by_default,
|
inline : !false_by_default,
|
||||||
join_vars : !false_by_default,
|
join_vars : !false_by_default,
|
||||||
keep_fargs : false_by_default || "strict",
|
keep_fargs : false_by_default,
|
||||||
keep_fnames : false,
|
keep_fnames : false,
|
||||||
keep_infinity : false,
|
keep_infinity : false,
|
||||||
loops : !false_by_default,
|
loops : !false_by_default,
|
||||||
|
|
@ -113,8 +113,7 @@ function Compressor(options, false_by_default) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (this.options["inline"] === true) this.options["inline"] = 3;
|
if (this.options["inline"] === true) this.options["inline"] = 3;
|
||||||
var keep_fargs = this.options["keep_fargs"];
|
this.drop_fargs = this.options["keep_fargs"] ? return_false : function(lambda, parent) {
|
||||||
this.drop_fargs = keep_fargs == "strict" ? function(lambda, parent) {
|
|
||||||
if (lambda.length_read) return false;
|
if (lambda.length_read) return false;
|
||||||
var name = lambda.name;
|
var name = lambda.name;
|
||||||
if (!name) return parent && parent.TYPE == "Call" && parent.expression === lambda;
|
if (!name) return parent && parent.TYPE == "Call" && parent.expression === lambda;
|
||||||
|
|
@ -123,7 +122,7 @@ function Compressor(options, false_by_default) {
|
||||||
if (def.direct_access) return false;
|
if (def.direct_access) return false;
|
||||||
var escaped = def.escaped;
|
var escaped = def.escaped;
|
||||||
return escaped && escaped.depth != 1;
|
return escaped && escaped.depth != 1;
|
||||||
} : keep_fargs ? return_false : return_true;
|
};
|
||||||
var pure_funcs = this.options["pure_funcs"];
|
var pure_funcs = this.options["pure_funcs"];
|
||||||
if (typeof pure_funcs == "function") {
|
if (typeof pure_funcs == "function") {
|
||||||
this.pure_funcs = pure_funcs;
|
this.pure_funcs = pure_funcs;
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ replace_index_strict: {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
replace_index_keep_fargs: {
|
replace_index_drop_fargs_1: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
|
|
@ -128,7 +128,7 @@ replace_index_keep_fargs: {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
replace_index_keep_fargs_strict: {
|
replace_index_drop_fargs_2: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
|
|
@ -412,7 +412,7 @@ issue_3273_global_strict_reduce_vars: {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
issue_3273_keep_fargs_false: {
|
issue_3273_drop_fargs_1: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: false,
|
keep_fargs: false,
|
||||||
|
|
@ -435,10 +435,10 @@ issue_3273_keep_fargs_false: {
|
||||||
expect_stdout: "1"
|
expect_stdout: "1"
|
||||||
}
|
}
|
||||||
|
|
||||||
issue_3273_keep_fargs_strict: {
|
issue_3273_drop_fargs_2: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -633,7 +633,7 @@ issue_3282_2_passes: {
|
||||||
issue_3420_1: {
|
issue_3420_1: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
console.log(function() {
|
console.log(function() {
|
||||||
|
|
@ -655,7 +655,7 @@ issue_3420_1: {
|
||||||
issue_3420_2: {
|
issue_3420_2: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
var foo = function() {
|
var foo = function() {
|
||||||
|
|
@ -675,7 +675,7 @@ issue_3420_2: {
|
||||||
issue_3420_3: {
|
issue_3420_3: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
@ -697,7 +697,7 @@ issue_3420_3: {
|
||||||
issue_3420_4: {
|
issue_3420_4: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
!function() {
|
!function() {
|
||||||
|
|
@ -722,7 +722,7 @@ issue_3420_4: {
|
||||||
issue_3420_5: {
|
issue_3420_5: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
@ -749,7 +749,7 @@ issue_3420_5: {
|
||||||
issue_3420_6: {
|
issue_3420_6: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
console.log(function() {
|
console.log(function() {
|
||||||
|
|
@ -767,7 +767,7 @@ issue_3420_6: {
|
||||||
issue_3420_7: {
|
issue_3420_7: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
"use strict";
|
"use strict";
|
||||||
|
|
@ -811,7 +811,7 @@ issue_4200: {
|
||||||
issue_4291_1: {
|
issue_4291_1: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
console.log(function() {
|
console.log(function() {
|
||||||
|
|
@ -831,7 +831,7 @@ issue_4291_1: {
|
||||||
issue_4291_2: {
|
issue_4291_2: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
var a = function() {
|
var a = function() {
|
||||||
|
|
@ -855,7 +855,7 @@ issue_4291_2: {
|
||||||
issue_4397: {
|
issue_4397: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
console.log(typeof function() {
|
console.log(typeof function() {
|
||||||
|
|
|
||||||
|
|
@ -419,7 +419,7 @@ collapse_value: {
|
||||||
options = {
|
options = {
|
||||||
arrows: true,
|
arrows: true,
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -437,7 +437,7 @@ collapse_value: {
|
||||||
reduce_iife_1: {
|
reduce_iife_1: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -353,7 +353,7 @@ property_access_expression: {
|
||||||
reduce_iife_1: {
|
reduce_iife_1: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -481,7 +481,7 @@ retain_fargs: {
|
||||||
|
|
||||||
drop_fargs: {
|
drop_fargs: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
|
||||||
|
|
@ -40,7 +40,7 @@ redefine_arguments_2: {
|
||||||
|
|
||||||
redefine_arguments_3: {
|
redefine_arguments_3: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -259,7 +259,7 @@ funarg_side_effects_3: {
|
||||||
|
|
||||||
funarg_unused_1: {
|
funarg_unused_1: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -318,7 +318,7 @@ funarg_unused_3: {
|
||||||
|
|
||||||
funarg_unused_4: {
|
funarg_unused_4: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
pure_getters: "strict",
|
pure_getters: "strict",
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -384,7 +384,7 @@ funarg_unused_6_inline: {
|
||||||
|
|
||||||
funarg_unused_6_keep_fargs: {
|
funarg_unused_6_keep_fargs: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -426,7 +426,7 @@ funarg_collapse_vars_1: {
|
||||||
funarg_collapse_vars_2: {
|
funarg_collapse_vars_2: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -505,7 +505,7 @@ funarg_reduce_vars_1: {
|
||||||
funarg_reduce_vars_2: {
|
funarg_reduce_vars_2: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
pure_getters: "strict",
|
pure_getters: "strict",
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unsafe: true,
|
unsafe: true,
|
||||||
|
|
@ -1123,7 +1123,7 @@ join_vars: {
|
||||||
|
|
||||||
keep_fargs: {
|
keep_fargs: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -1776,7 +1776,7 @@ issue_4319: {
|
||||||
issue_4321: {
|
issue_4321: {
|
||||||
options = {
|
options = {
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -4,15 +4,16 @@ unused_funarg_1: {
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
function f(a, b, c, d, e) {
|
console.log(function f(a, b, c, d, e) {
|
||||||
return a + b;
|
return a + b;
|
||||||
}
|
}(14, 28));
|
||||||
}
|
}
|
||||||
expect: {
|
expect: {
|
||||||
function f(a, b) {
|
console.log(function(a, b) {
|
||||||
return a + b;
|
return a + b;
|
||||||
|
}(14, 28));
|
||||||
}
|
}
|
||||||
}
|
expect_stdout: "42"
|
||||||
}
|
}
|
||||||
|
|
||||||
unused_funarg_2: {
|
unused_funarg_2: {
|
||||||
|
|
@ -21,15 +22,16 @@ unused_funarg_2: {
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
function f(a, b, c, d, e) {
|
console.log(function f(a, b, c, d, e) {
|
||||||
return a + c;
|
return a + c;
|
||||||
}
|
}(14, 21, 28));
|
||||||
}
|
}
|
||||||
expect: {
|
expect: {
|
||||||
function f(a, b, c) {
|
console.log(function(a, c) {
|
||||||
return a + c;
|
return a + c;
|
||||||
|
}(14, 28));
|
||||||
}
|
}
|
||||||
}
|
expect_stdout: "42"
|
||||||
}
|
}
|
||||||
|
|
||||||
unused_nested_function: {
|
unused_nested_function: {
|
||||||
|
|
@ -357,37 +359,6 @@ drop_toplevel_vars: {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
drop_toplevel_vars_fargs: {
|
|
||||||
options = {
|
|
||||||
keep_fargs: false,
|
|
||||||
toplevel: "vars",
|
|
||||||
unused: true,
|
|
||||||
}
|
|
||||||
input: {
|
|
||||||
var a, b = 1, c = g;
|
|
||||||
function f(d) {
|
|
||||||
return function() {
|
|
||||||
c = 2;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
a = 2;
|
|
||||||
function g() {}
|
|
||||||
function h() {}
|
|
||||||
console.log(b = 3);
|
|
||||||
}
|
|
||||||
expect: {
|
|
||||||
function f() {
|
|
||||||
return function() {
|
|
||||||
2;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
2;
|
|
||||||
function g() {}
|
|
||||||
function h() {}
|
|
||||||
console.log(3);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
drop_toplevel_all: {
|
drop_toplevel_all: {
|
||||||
options = {
|
options = {
|
||||||
toplevel: true,
|
toplevel: true,
|
||||||
|
|
@ -625,13 +596,14 @@ drop_fargs: {
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
function f(a) {
|
console.log(function f(a) {
|
||||||
var b = a;
|
var b = a;
|
||||||
}
|
}());
|
||||||
}
|
}
|
||||||
expect: {
|
expect: {
|
||||||
function f() {}
|
console.log(function() {}());
|
||||||
}
|
}
|
||||||
|
expect_stdout: "undefined"
|
||||||
}
|
}
|
||||||
|
|
||||||
drop_fnames: {
|
drop_fnames: {
|
||||||
|
|
@ -2027,7 +1999,7 @@ issue_3192_1: {
|
||||||
|
|
||||||
issue_3192_2: {
|
issue_3192_2: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -2435,7 +2407,7 @@ issue_3673: {
|
||||||
|
|
||||||
issue_3746: {
|
issue_3746: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
side_effects: true,
|
side_effects: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -2713,7 +2685,7 @@ issue_3956: {
|
||||||
issue_3962_1: {
|
issue_3962_1: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
toplevel: true,
|
toplevel: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -2745,7 +2717,7 @@ issue_3962_1: {
|
||||||
|
|
||||||
issue_3962_2: {
|
issue_3962_2: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
side_effects: true,
|
side_effects: true,
|
||||||
toplevel: true,
|
toplevel: true,
|
||||||
|
|
@ -2948,7 +2920,7 @@ issue_4133: {
|
||||||
|
|
||||||
issue_4144: {
|
issue_4144: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -229,7 +229,7 @@ issue_203: {
|
||||||
}
|
}
|
||||||
expect: {
|
expect: {
|
||||||
var m = {};
|
var m = {};
|
||||||
var fn = Function("n,o", "o.exports=42");
|
var fn = Function("n,o,t", "o.exports=42");
|
||||||
fn(null, m, m.exports);
|
fn(null, m, m.exports);
|
||||||
console.log(m.exports);
|
console.log(m.exports);
|
||||||
}
|
}
|
||||||
|
|
@ -4230,7 +4230,7 @@ substitute: {
|
||||||
substitute_add_farg: {
|
substitute_add_farg: {
|
||||||
options = {
|
options = {
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
function f(g) {
|
function f(g) {
|
||||||
|
|
@ -4411,7 +4411,9 @@ substitute_drop_farg: {
|
||||||
return f;
|
return f;
|
||||||
},
|
},
|
||||||
function() {
|
function() {
|
||||||
return f;
|
return function(d, e) {
|
||||||
|
return f(d, e);
|
||||||
|
};
|
||||||
},
|
},
|
||||||
].forEach(function(g) {
|
].forEach(function(g) {
|
||||||
console.log(g()(o), g().call(o, o));
|
console.log(g()(o), g().call(o, o));
|
||||||
|
|
@ -4594,7 +4596,7 @@ substitute_use_strict: {
|
||||||
issue_3833: {
|
issue_3833: {
|
||||||
options = {
|
options = {
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
toplevel: true,
|
toplevel: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -4751,7 +4753,7 @@ issue_4006: {
|
||||||
dead_code: true,
|
dead_code: true,
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
sequences: true,
|
sequences: true,
|
||||||
side_effects: true,
|
side_effects: true,
|
||||||
|
|
|
||||||
|
|
@ -63,42 +63,81 @@ eval_unused: {
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
function f1(a, eval, c, d, e) {
|
function o(k) {
|
||||||
return a('c') + eval;
|
return { c: 14 }[k];
|
||||||
}
|
|
||||||
function f2(a, b, c, d, e) {
|
|
||||||
return a + eval('c');
|
|
||||||
}
|
|
||||||
function f3(a, eval, c, d, e) {
|
|
||||||
return a + eval('c');
|
|
||||||
}
|
}
|
||||||
|
console.log(function f1(a, eval, c, d, e) {
|
||||||
|
return a("c") + eval;
|
||||||
|
}(o, 28, true));
|
||||||
|
console.log(function f2(a, b, c, d, e) {
|
||||||
|
return a + eval("c");
|
||||||
|
}(14, true, 28));
|
||||||
|
console.log(function f3(a, eval, c, d, e) {
|
||||||
|
return a + eval("c");
|
||||||
|
}(28, o, true));
|
||||||
}
|
}
|
||||||
expect: {
|
expect: {
|
||||||
function f1(a, eval) {
|
function o(k) {
|
||||||
return a('c') + eval;
|
return { c: 14 }[k];
|
||||||
}
|
|
||||||
function f2(a, b, c, d, e) {
|
|
||||||
return a + eval('c');
|
|
||||||
}
|
|
||||||
function f3(a, eval, c, d, e) {
|
|
||||||
return a + eval('c');
|
|
||||||
}
|
}
|
||||||
|
console.log(function(a, eval) {
|
||||||
|
return a("c") + eval;
|
||||||
|
}(o, 28));
|
||||||
|
console.log(function f2(a, b, c, d, e) {
|
||||||
|
return a + eval("c");
|
||||||
|
}(14, true, 28));
|
||||||
|
console.log(function f3(a, eval, c, d, e) {
|
||||||
|
return a + eval("c");
|
||||||
|
}(28, o, true));
|
||||||
}
|
}
|
||||||
|
expect_stdout: [
|
||||||
|
"42",
|
||||||
|
"42",
|
||||||
|
"42",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
eval_mangle: {
|
eval_mangle: {
|
||||||
mangle = {
|
mangle = {}
|
||||||
};
|
beautify = {
|
||||||
|
beautify: true,
|
||||||
|
}
|
||||||
input: {
|
input: {
|
||||||
function f1(a, eval, c, d, e) {
|
function o(k) {
|
||||||
return a('c') + eval;
|
return { cc: 14 }[k + "c"];
|
||||||
}
|
}
|
||||||
function f2(a, b, c, d, e) {
|
console.log(function f1(a, eval, c, d, e) {
|
||||||
return a + eval('c');
|
return a("c") + eval;
|
||||||
|
}(o, 28, true));
|
||||||
|
console.log(function f2(a, b, c, d, e) {
|
||||||
|
return a + eval("c");
|
||||||
|
}(14, true, 28));
|
||||||
|
console.log(function f3(a, eval, c, d, e) {
|
||||||
|
return a + eval("c");
|
||||||
|
}(28, o, true));
|
||||||
}
|
}
|
||||||
function f3(a, eval, c, d, e) {
|
expect_exact: [
|
||||||
return a + eval('c');
|
"function o(o) {",
|
||||||
}
|
" return {",
|
||||||
}
|
" cc: 14",
|
||||||
expect_exact: 'function f1(n,c,e,a,f){return n("c")+c}function f2(a,b,c,d,e){return a+eval("c")}function f3(a,eval,c,d,e){return a+eval("c")}'
|
' }[o + "c"];',
|
||||||
|
"}",
|
||||||
|
"",
|
||||||
|
"console.log(function o(c, e, n, r, t) {",
|
||||||
|
' return c("c") + e;',
|
||||||
|
"}(o, 28, true));",
|
||||||
|
"",
|
||||||
|
"console.log(function f2(a, b, c, d, e) {",
|
||||||
|
' return a + eval("c");',
|
||||||
|
"}(14, true, 28));",
|
||||||
|
"",
|
||||||
|
"console.log(function f3(a, eval, c, d, e) {",
|
||||||
|
' return a + eval("c");',
|
||||||
|
"}(28, o, true));",
|
||||||
|
]
|
||||||
|
expect_stdout: [
|
||||||
|
"42",
|
||||||
|
"42",
|
||||||
|
"42",
|
||||||
|
]
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -790,7 +790,7 @@ issue_3795: {
|
||||||
dead_code: true,
|
dead_code: true,
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
join_vars: true,
|
join_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
loops: true,
|
loops: true,
|
||||||
passes: 2,
|
passes: 2,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
|
|
|
||||||
|
|
@ -18,43 +18,6 @@ keep_fargs_false: {
|
||||||
function j(e) {}
|
function j(e) {}
|
||||||
console.log(h(), i().length, j.length);
|
console.log(h(), i().length, j.length);
|
||||||
}
|
}
|
||||||
expect: {
|
|
||||||
console.log(function f() {
|
|
||||||
return f.length;
|
|
||||||
}(), function g() {
|
|
||||||
return g;
|
|
||||||
}().length);
|
|
||||||
function h() {
|
|
||||||
return h.length;
|
|
||||||
}
|
|
||||||
function i() {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
function j() {}
|
|
||||||
console.log(h(), i().length, j.length);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
keep_fargs_strict: {
|
|
||||||
options = {
|
|
||||||
keep_fargs: "strict",
|
|
||||||
unused: true,
|
|
||||||
}
|
|
||||||
input: {
|
|
||||||
console.log(function f(a) {
|
|
||||||
return f.length;
|
|
||||||
}(), function g(b) {
|
|
||||||
return g;
|
|
||||||
}().length);
|
|
||||||
function h(c) {
|
|
||||||
return h.length;
|
|
||||||
}
|
|
||||||
function i(d) {
|
|
||||||
return i;
|
|
||||||
}
|
|
||||||
function j(e) {}
|
|
||||||
console.log(h(), i().length, j.length);
|
|
||||||
}
|
|
||||||
expect: {
|
expect: {
|
||||||
console.log(function f(a) {
|
console.log(function f(a) {
|
||||||
return f.length;
|
return f.length;
|
||||||
|
|
@ -121,7 +84,7 @@ replace_index: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
properties: true,
|
properties: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -171,7 +134,7 @@ replace_index_strict: {
|
||||||
options = {
|
options = {
|
||||||
arguments: true,
|
arguments: true,
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
properties: true,
|
properties: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
}
|
}
|
||||||
|
|
@ -202,7 +165,7 @@ replace_index_strict: {
|
||||||
issue_1858: {
|
issue_1858: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
pure_getters: true,
|
pure_getters: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -224,7 +187,7 @@ issue_1858: {
|
||||||
issue_2187_2: {
|
issue_2187_2: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -245,7 +208,7 @@ issue_2187_2: {
|
||||||
issue_2203_2: {
|
issue_2203_2: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -280,7 +243,7 @@ issue_2203_2: {
|
||||||
issue_2298: {
|
issue_2298: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
passes: 2,
|
passes: 2,
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
|
|
@ -323,7 +286,7 @@ issue_2298: {
|
||||||
issue_2319_1: {
|
issue_2319_1: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -346,7 +309,7 @@ issue_2319_1: {
|
||||||
issue_2319_2: {
|
issue_2319_2: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -371,7 +334,7 @@ issue_2319_2: {
|
||||||
issue_2319_3: {
|
issue_2319_3: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -396,7 +359,7 @@ issue_2319_3: {
|
||||||
issue_2425_1: {
|
issue_2425_1: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -419,7 +382,7 @@ issue_2425_1: {
|
||||||
issue_2425_2: {
|
issue_2425_2: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -442,7 +405,7 @@ issue_2425_2: {
|
||||||
issue_2425_3: {
|
issue_2425_3: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -465,7 +428,7 @@ issue_2425_3: {
|
||||||
issue_2436_13: {
|
issue_2436_13: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
passes: 2,
|
passes: 2,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -499,7 +462,7 @@ issue_2436_13: {
|
||||||
issue_2506: {
|
issue_2506: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
passes: 2,
|
passes: 2,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -538,7 +501,7 @@ issue_2506: {
|
||||||
|
|
||||||
issue_2226_1: {
|
issue_2226_1: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
side_effects: true,
|
side_effects: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -585,7 +548,7 @@ issue_2226_1: {
|
||||||
issue_2226_2: {
|
issue_2226_2: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
sequences: true,
|
sequences: true,
|
||||||
side_effects: true,
|
side_effects: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -607,7 +570,7 @@ issue_2226_2: {
|
||||||
issue_2226_3: {
|
issue_2226_3: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
side_effects: true,
|
side_effects: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -627,7 +590,7 @@ issue_2226_3: {
|
||||||
|
|
||||||
issue_3192: {
|
issue_3192: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -657,7 +620,7 @@ issue_3192: {
|
||||||
if_increment: {
|
if_increment: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -679,7 +642,7 @@ if_increment: {
|
||||||
try_increment: {
|
try_increment: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -703,7 +666,7 @@ try_increment: {
|
||||||
issue_2630_3: {
|
issue_2630_3: {
|
||||||
options = {
|
options = {
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -740,7 +703,7 @@ issue_2630_3: {
|
||||||
issue_3364: {
|
issue_3364: {
|
||||||
options = {
|
options = {
|
||||||
functions: true,
|
functions: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
toplevel: true,
|
toplevel: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -805,7 +768,7 @@ issue_3364: {
|
||||||
|
|
||||||
defun_label: {
|
defun_label: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
passes: 2,
|
passes: 2,
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
|
|
@ -837,7 +800,7 @@ defun_label: {
|
||||||
|
|
||||||
iife_func_side_effects: {
|
iife_func_side_effects: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -889,7 +852,7 @@ iife_func_side_effects: {
|
||||||
issue_1595_1: {
|
issue_1595_1: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -909,7 +872,7 @@ issue_1595_1: {
|
||||||
issue_1595_2: {
|
issue_1595_2: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -929,7 +892,7 @@ issue_1595_2: {
|
||||||
issue_1595_3: {
|
issue_1595_3: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
passes: 2,
|
passes: 2,
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
|
|
@ -950,7 +913,7 @@ issue_1595_3: {
|
||||||
issue_1595_4: {
|
issue_1595_4: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -972,7 +935,7 @@ issue_1595_4: {
|
||||||
|
|
||||||
duplicate_lambda_defun_name_1: {
|
duplicate_lambda_defun_name_1: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -992,7 +955,7 @@ duplicate_lambda_defun_name_1: {
|
||||||
|
|
||||||
duplicate_lambda_defun_name_2: {
|
duplicate_lambda_defun_name_2: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
passes: 2,
|
passes: 2,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -1013,7 +976,7 @@ duplicate_lambda_defun_name_2: {
|
||||||
|
|
||||||
function_name_mangle: {
|
function_name_mangle: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
keep_fnames: true,
|
keep_fnames: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -1031,7 +994,7 @@ function_name_mangle: {
|
||||||
|
|
||||||
function_name_mangle_ie8: {
|
function_name_mangle_ie8: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
keep_fnames: true,
|
keep_fnames: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
@ -1052,7 +1015,7 @@ function_name_mangle_ie8: {
|
||||||
|
|
||||||
issue_3420_1: {
|
issue_3420_1: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -1075,7 +1038,7 @@ issue_3420_1: {
|
||||||
issue_3420_2: {
|
issue_3420_2: {
|
||||||
options = {
|
options = {
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -1096,7 +1059,7 @@ issue_3420_2: {
|
||||||
issue_3420_3: {
|
issue_3420_3: {
|
||||||
options = {
|
options = {
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -1118,7 +1081,7 @@ issue_3420_3: {
|
||||||
|
|
||||||
issue_3423_1: {
|
issue_3423_1: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -1138,7 +1101,7 @@ issue_3423_1: {
|
||||||
|
|
||||||
issue_3423_2: {
|
issue_3423_2: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -1165,7 +1128,7 @@ collapse_vars_repeated: {
|
||||||
hoist_funs: true,
|
hoist_funs: true,
|
||||||
if_return: true,
|
if_return: true,
|
||||||
join_vars: true,
|
join_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
loops: true,
|
loops: true,
|
||||||
properties: true,
|
properties: true,
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
|
|
@ -1212,7 +1175,7 @@ collapse_vars_repeated: {
|
||||||
chained_3: {
|
chained_3: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -1236,7 +1199,7 @@ replace_all_var_scope: {
|
||||||
rename = true
|
rename = true
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
mangle = {}
|
mangle = {}
|
||||||
|
|
@ -1265,7 +1228,7 @@ replace_all_var_scope: {
|
||||||
|
|
||||||
issue_1583: {
|
issue_1583: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
passes: 2,
|
passes: 2,
|
||||||
reduce_funcs: true,
|
reduce_funcs: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
|
|
@ -1302,7 +1265,7 @@ issues_3267_1: {
|
||||||
dead_code: true,
|
dead_code: true,
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
sequences: true,
|
sequences: true,
|
||||||
side_effects: true,
|
side_effects: true,
|
||||||
|
|
@ -1331,7 +1294,7 @@ issues_3267_1: {
|
||||||
|
|
||||||
trailing_argument_side_effects: {
|
trailing_argument_side_effects: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -1355,7 +1318,7 @@ trailing_argument_side_effects: {
|
||||||
|
|
||||||
recursive_iife_1: {
|
recursive_iife_1: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -1374,7 +1337,7 @@ recursive_iife_1: {
|
||||||
|
|
||||||
recursive_iife_2: {
|
recursive_iife_2: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -1455,7 +1418,7 @@ issue_3619: {
|
||||||
|
|
||||||
issue_4353_1: {
|
issue_4353_1: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -1470,7 +1433,7 @@ issue_4353_1: {
|
||||||
|
|
||||||
issue_4353_2: {
|
issue_4353_2: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1026,7 +1026,7 @@ issue_4075: {
|
||||||
|
|
||||||
issue_4082: {
|
issue_4082: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
loops: true,
|
loops: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
|
|
@ -1050,7 +1050,7 @@ issue_4082: {
|
||||||
|
|
||||||
issue_4084: {
|
issue_4084: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
loops: true,
|
loops: true,
|
||||||
passes: 2,
|
passes: 2,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
|
|
|
||||||
|
|
@ -327,7 +327,7 @@ issue_4103: {
|
||||||
|
|
||||||
issue_4107: {
|
issue_4107: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
merge_vars: true,
|
merge_vars: true,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
unused: true,
|
unused: true,
|
||||||
|
|
|
||||||
|
|
@ -685,7 +685,7 @@ issue_3858: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
@ -711,7 +711,7 @@ inline_pure_call_1: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
sequences: true,
|
sequences: true,
|
||||||
side_effects: true,
|
side_effects: true,
|
||||||
|
|
@ -733,7 +733,7 @@ inline_pure_call_2: {
|
||||||
options = {
|
options = {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
sequences: true,
|
sequences: true,
|
||||||
side_effects: true,
|
side_effects: true,
|
||||||
|
|
@ -756,7 +756,7 @@ inline_pure_call_3: {
|
||||||
collapse_vars: true,
|
collapse_vars: true,
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
passes: 2,
|
passes: 2,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
toplevel: true,
|
toplevel: true,
|
||||||
|
|
|
||||||
|
|
@ -2373,7 +2373,7 @@ redefine_farg_1: {
|
||||||
function f(a) {
|
function f(a) {
|
||||||
return typeof a;
|
return typeof a;
|
||||||
}
|
}
|
||||||
function g() {
|
function g(a) {
|
||||||
return "number";
|
return "number";
|
||||||
}
|
}
|
||||||
function h(a, b) {
|
function h(a, b) {
|
||||||
|
|
@ -6928,7 +6928,7 @@ issue_3622: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
inline: true,
|
inline: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
sequences: true,
|
sequences: true,
|
||||||
toplevel: true,
|
toplevel: true,
|
||||||
|
|
@ -7196,7 +7196,7 @@ issue_3894: {
|
||||||
issue_3922: {
|
issue_3922: {
|
||||||
options = {
|
options = {
|
||||||
evaluate: true,
|
evaluate: true,
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
pure_getters: "strict",
|
pure_getters: "strict",
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
side_effects: true,
|
side_effects: true,
|
||||||
|
|
|
||||||
|
|
@ -436,7 +436,7 @@ trim_new: {
|
||||||
|
|
||||||
issue_4325: {
|
issue_4325: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
passes: 2,
|
passes: 2,
|
||||||
pure_getters: "strict",
|
pure_getters: "strict",
|
||||||
reduce_vars: true,
|
reduce_vars: true,
|
||||||
|
|
|
||||||
|
|
@ -192,7 +192,7 @@ keep_property_access: {
|
||||||
|
|
||||||
keep_fargs: {
|
keep_fargs: {
|
||||||
options = {
|
options = {
|
||||||
keep_fargs: "strict",
|
keep_fargs: false,
|
||||||
unused: true,
|
unused: true,
|
||||||
}
|
}
|
||||||
input: {
|
input: {
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
(function f(a) {
|
console.log(function(undefined) {
|
||||||
do {
|
return undefined[function() {
|
||||||
console.log(f.length);
|
{}
|
||||||
} while (console.log(f += 0));
|
}] || 1 + .1 + .1;
|
||||||
})();
|
}(42));
|
||||||
|
|
|
||||||
|
|
@ -1,19 +1,14 @@
|
||||||
// (beautified)
|
// (beautified)
|
||||||
(function f(a) {
|
console.log(function() {
|
||||||
do {
|
return 1 + .1 + .1;
|
||||||
console.log(f.length);
|
}());
|
||||||
} while (console.log(f += 0));
|
// output: 1.2000000000000002
|
||||||
})();
|
|
||||||
// output: 1
|
|
||||||
// function(){}0
|
|
||||||
//
|
//
|
||||||
// minify: 0
|
// minify: 1.2
|
||||||
// function(){}0
|
|
||||||
//
|
//
|
||||||
// options: {
|
// options: {
|
||||||
// "compress": {
|
// "compress": {
|
||||||
// "keep_fargs": false,
|
// "unsafe_math": true
|
||||||
// "unsafe": true
|
|
||||||
// },
|
// },
|
||||||
// "mangle": false
|
// "mangle": false
|
||||||
// }
|
// }
|
||||||
|
|
@ -1,8 +1,5 @@
|
||||||
console.log(function f(a) {
|
|
||||||
({
|
({
|
||||||
set p(v) {
|
set p(v) {
|
||||||
f++;
|
console.log(+v + .1 + .1);
|
||||||
}
|
}
|
||||||
});
|
}).p = 1;
|
||||||
return f.length;
|
|
||||||
}());
|
|
||||||
|
|
|
||||||
|
|
@ -1,20 +1,16 @@
|
||||||
// (beautified)
|
// (beautified)
|
||||||
console.log(function f(a) {
|
|
||||||
({
|
({
|
||||||
set p(v) {
|
set p(v) {
|
||||||
f++;
|
console.log(1 + .1 + .1);
|
||||||
}
|
}
|
||||||
});
|
}).p = 0;
|
||||||
return f.length;
|
// output: 1.2000000000000002
|
||||||
}());
|
|
||||||
// output: 1
|
|
||||||
//
|
//
|
||||||
// minify: 0
|
// minify: 1.2
|
||||||
//
|
//
|
||||||
// options: {
|
// options: {
|
||||||
// "compress": {
|
// "compress": {
|
||||||
// "keep_fargs": false,
|
// "unsafe_math": true
|
||||||
// "unsafe": true
|
|
||||||
// },
|
// },
|
||||||
// "mangle": false
|
// "mangle": false
|
||||||
// }
|
// }
|
||||||
|
|
@ -37,8 +37,7 @@ describe("test/reduce.js", function() {
|
||||||
it("Should retain setter arguments", function() {
|
it("Should retain setter arguments", function() {
|
||||||
var result = reduce_test(read("test/input/reduce/setter.js"), {
|
var result = reduce_test(read("test/input/reduce/setter.js"), {
|
||||||
compress: {
|
compress: {
|
||||||
keep_fargs: false,
|
unsafe_math: true,
|
||||||
unsafe: true,
|
|
||||||
},
|
},
|
||||||
mangle: false,
|
mangle: false,
|
||||||
}, {
|
}, {
|
||||||
|
|
@ -110,28 +109,24 @@ describe("test/reduce.js", function() {
|
||||||
});
|
});
|
||||||
it("Should print correct output for irreducible test case", function() {
|
it("Should print correct output for irreducible test case", function() {
|
||||||
var result = reduce_test([
|
var result = reduce_test([
|
||||||
"console.log(function f(a) {",
|
"console.log(1 + .1 + .1);",
|
||||||
" return f.length;",
|
|
||||||
"}());",
|
|
||||||
].join("\n"), {
|
].join("\n"), {
|
||||||
compress: {
|
compress: {
|
||||||
keep_fargs: false,
|
unsafe_math: true,
|
||||||
},
|
},
|
||||||
mangle: false,
|
mangle: false,
|
||||||
});
|
});
|
||||||
if (result.error) throw result.error;
|
if (result.error) throw result.error;
|
||||||
assert.strictEqual(result.code, [
|
assert.strictEqual(result.code, [
|
||||||
"// (beautified)",
|
"// (beautified)",
|
||||||
"console.log(function f(a) {",
|
"console.log(1 + .1 + .1);",
|
||||||
" return f.length;",
|
"// output: 1.2000000000000002",
|
||||||
"}());",
|
|
||||||
"// output: 1",
|
|
||||||
"// ",
|
"// ",
|
||||||
"// minify: 0",
|
"// minify: 1.2",
|
||||||
"// ",
|
"// ",
|
||||||
"// options: {",
|
"// options: {",
|
||||||
'// "compress": {',
|
'// "compress": {',
|
||||||
'// "keep_fargs": false',
|
'// "unsafe_math": true',
|
||||||
"// },",
|
"// },",
|
||||||
'// "mangle": false',
|
'// "mangle": false',
|
||||||
"// }",
|
"// }",
|
||||||
|
|
@ -303,8 +298,7 @@ describe("test/reduce.js", function() {
|
||||||
if (semver.satisfies(process.version, "<=0.10")) return;
|
if (semver.satisfies(process.version, "<=0.10")) return;
|
||||||
var result = reduce_test(read("test/input/reduce/diff_error.js"), {
|
var result = reduce_test(read("test/input/reduce/diff_error.js"), {
|
||||||
compress: {
|
compress: {
|
||||||
keep_fargs: false,
|
unsafe_math: true,
|
||||||
unsafe: true,
|
|
||||||
},
|
},
|
||||||
mangle: false,
|
mangle: false,
|
||||||
}, {
|
}, {
|
||||||
|
|
|
||||||
|
|
@ -28,7 +28,6 @@
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"compress": {
|
"compress": {
|
||||||
"keep_fargs": false,
|
|
||||||
"passes": 1e6,
|
"passes": 1e6,
|
||||||
"sequences": 1e6,
|
"sequences": 1e6,
|
||||||
"unsafe": true,
|
"unsafe": true,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user