We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
// original code // (beautified) var _calls_ = 10, a = 100, b = 10, c = 0; function f0(foo_1, a_2, b_2) { var a = (25 & "foo") > false * {} === ([ , 0 ][1] !== null) * ("undefined" && 3); { var brake2 = 5; L69950: do { for (var brake3 = 5; a++ + 1 && brake3 > 0; --brake3) { L69951: { switch (a++ + "c") { case a++ + a: switch (a++ + a--) { case -a: ; { var expr8 = (c = 1 + c, (Object.isExtensible(foo_1) && (foo_1.then = "function" ^ 38..toString())) !== (25 | "function") ^ (-3 ^ 1) / (c = c + 1, 2)); for (var key8 in expr8) { c = 1 + c, a = (Object.isExtensible(foo_1) && (foo_1[foo_1] ^= [ , 0 ][1] === {} ^ 5 / 2)) - (("b" ?? "function") >= (true, this)); } } switch (c = 1 + c, (Object.isExtensible(foo_1) && (foo_1.b = "number" / ([ , 0 ].length === 2) & "foo" >> 0)) >> ("object" < "number" || - -1)) { default: ; case c = 1 + c, b_2 += ("function" >> 24..toString() & (NaN ?? undefined)) == (null === -4 & 24..toString() >> 23..toString()): ; case c = 1 + c, ((c = c + 1, "object") !== (23..toString() != 38..toString())) <= ("undefined" >> NaN) * (24..toString() + -5): ; break; case c = 1 + c, "function" % -5 >>> (foo_1 = "" >> -2) == (b_2 = -2 <= "bar") % (Object.isExtensible(a) && (a.c = "function" ^ "object")): ; break; } break; case (c = c + 1) + [ (c = 1 + c, (25 - false === ([ , 0 ].length === 2) > ([ , 0 ].length === 2)) - (this !== "c" || 0 / {})) ][(c = c + 1) + (foo_1 = (c = 1 + c, -(-5 >> false) * ((Object.isExtensible(a_2) && (a_2[c = 1 + c, (Object.isExtensible(b_2) && (b_2.async = (38..toString() || "function") == "function" - false)) | (this >= "undefined" && "a" >= false)] = {} == 25)) === "object" + false)))]: c = 1 + c, ("object" - "function" ^ (-4 || 25)) > ([ , 0 ][1] * 24..toString() == "function" > 38..toString()); default: L69952: { } case --b + (--b + ("object" in { done: (c = 1 + c, (foo_1 += -1 * 24..toString() ^ (this, -1)) != ((-42n).toString() < []) / (null != 22)) }) ? a && a[c = 1 + c, (-5, [ , 0 ].length === 2) >> "number" * 0 != (-3 < "undefined") << 25 / 38..toString()] : ((c = 1 + c, Object.isExtensible(a) && (a.var = ("function" == /[a2][^e]+$/ ^ (Object.isExtensible(a) && (a[c = 1 + c, (-2 + false & "bar" > "number") >>> (true >> 1 && (2, 0))] = null || 2))) >= (-false || -0 % 25))) || 3).toString()[c = 1 + c, ("c" + 25) * (23..toString() >> 5) ^ 0 === "object" == (a_2 = ([ , 0 ].length === 2) < -1)]): c = 1 + c, "bar" ^ [ , 0 ].length === 2 && (Object.isExtensible(a_2) && (a_2.done += -3 >= 4)) && !(4, "c"); { var brake14 = 5; do { c = 1 + c, (([ , 0 ].length === 2) < -2) >>> ("function" >= this) <= ((-2 || -2) === 24..toString() * [ , 0 ][1]); } while ((c = 1 + c, void (null * this) <= (22 + "undefined" || NaN | "")) && --brake14 > 0); } return c = 1 + c, (c = c + 1, Object.isExtensible(a) && (a.set |= "foo" <= 22)) / (([] ^ "c") < (-0 > "number")); break; } { var brake17 = 5; L69953: while (--b + [ ...[ (c = 1 + c, (0 >> "") % ("bar" % -0) | (3 !== "a") * (38..toString() > true)) ], (c = 1 + c, {} == ([ , 0 ].length === 2) !== ("bar" || /[a2][^e]+$/), 3 !== 24..toString() !== (3 === ([ , 0 ].length === 2))), (c = 1 + c, (a_2 = 25 / undefined != 5 - this) | 4 != "a" ^ ("bar" || -1)), (c = 1 + c, (4, undefined) == ("number" == -2) ^ Infinity <= 23..toString() === (-1 ^ "object")) ].null && --brake17 > 0) { c = c + 1; } } { { } { } } break; default: case (c = c + 1) + (typeof f1 == "function" && --_calls_ >= 0 && f1()): if (a++ + { a: (c = 1 + c, void "c" - (null >= "a") === (Infinity >> 1 == ("" ^ -0))), NaN: (c = 1 + c, (Object.isExtensible(a) && (a[a++ + function c_1() { }] = null > ([ , 0 ].length === 2) <= [] >> "object")) << ("number" - [ , 0 ][1] & 4 % -3)) }[a++ + (b + 1 - .1 - .1 - .1)]) { c = c + 1; } else { var brake24 = 5; do { L69954: { } } while (a_2 && typeof a_2.value == "function" && --_calls_ >= 0 && a_2.value() && --brake24 > 0); } { { var expr27 = (c = 1 + c, Object.isExtensible(a) && (a.value &= (a = (NaN, 38..toString())) >>> ("foo" > -1)) || -2 >= ([ , 0 ].length === 2) <= (-5 ^ [ , 0 ].length === 2)); L69955: for (var key27 in expr27) { c = 1 + c, b_2 |= ((Object.isExtensible(key27) && (key27[c = 1 + c, (c = c + 1, {} < 23..toString()) > ((-1 ^ []) >= (c = c + 1, 24..toString()))] **= 0 % 4)) ?? -2 / -4, ("bar" !== 1) >> (c = c + 1, -2)); } } { var brake29 = 5; while ((c = 1 + c, ("number", this) >= !"object" ^ ~(undefined | -1)) && --brake29 > 0) { c = 1 + c, (("c" | null) ^ (c = c + 1, -3)) > ("function" !== -1) + (0 + ""); } } } if (a++ + ((a = (c = 1 + c, true - 5 > (-3 <= undefined) >= ((-1, "function") !== Infinity % 5))) ? a-- : --b + (c = 1 + c, (-1 << 38..toString() == 1 - this) > "foo" / true << ("undefined" < "bar")))) { c = 1 + c, -(0 !== 23..toString()) & (c = c + 1, - -2); c = 1 + c, (undefined % false, undefined > 38..toString()) == ("" && {} || -3 !== ([ , 0 ].length === 2)); } else { switch ((c = c + 1) + (a_2 += (c = 1 + c, ((NaN, 22) == ("foo" == {})) >>> (25 + -5 >> (null >> "c"))))) { case 1 === 1 ? a : b: c = 1 + c, (23..toString() >= /[a2][^e]+$/) + (NaN ^ true) >= (-2 | 25 || true > 23..toString()); c = 1 + c, (false / 3 || undefined ^ -5) << (-2 >> -2 && (Object.isExtensible(b_2) && (b_2[c = 1 + c, Object.isExtensible(a_2) && (a_2.foo <<= null * -4 >= (Object.isExtensible(a) && (a.null >>= "function" * "a")) != (4 << /[a2][^e]+$/ && (Object.isExtensible(a) && (a[c = 1 + c, void (-3 < ([ , 0 ].length === 2)) >> ((Object.isExtensible(foo_1) && (foo_1[c = 1 + c, ("" >= this) + ("" >= -4) < (("c" ^ 1) >= ("c" & undefined))] = 4 !== 25)) >> ((-42n).toString() || -4))] += [] ^ -5))))] += 3 !== []))); c = 1 + c, !({} != Infinity ^ (c = c + 1, true)); default: c = 1 + c, ~"a" < (-3 !== 2) ^ (1, NaN) << NaN * undefined; case /[abc4]/g.exec(((c = 1 + c, Object.isExtensible(foo_1) && (foo_1.var = void "b" % (23..toString() & -0) >>> (foo_1 >>= Infinity ^ "a") / (4 ^ Number(0xdeadn << 16n | 0xbeefn)))) || b || 5).toString()): c = 1 + c, Object.isExtensible(a_2) && (a_2[[]] += ("object" <= "a") / ([ , 0 ][1] ^ !0o644n) != (Object.isExtensible(a_2) && (a_2[a] += 5 < 5 & "function" !== "b"))); break; case { done: (c = 1 + c, (a_2 = (false ^ "b") + (23..toString() <= "number")) >>> +(null, NaN)) }.b: c = 1 + c, undefined - 2 < (Infinity ^ 23..toString()) != (c = c + 1, "c" && "number"); break; } } break; case (c = c + 1) + (0 === 1 ? a : b): { var brake42 = 5; L69956: do { switch ({ set: (c = 1 + c, [] >>> this <= (0 < [ , 0 ][1]) == "object" > 2 < -1 + 38..toString()), static: (c = 1 + c, -4 * [ , 0 ][1] === (b_2 ^= "function" - -3) ^ (c = c + 1, b_2 -= true && -1)) }) { default: case /[abc4]/g.exec(((c = 1 + c, Object.isExtensible(a_2) && (a_2[(c = c + 1) + (a && a[c = 1 + c, ((38..toString() || this) === (24..toString() == false)) * (Object.isExtensible(a_2) && (a_2[--a] = (a_2 += 5 <= ([ , 0 ].length === 2)) + +22))] || 8).toString()[--b + (a **= (c = 1 + c, c = c + 1, Object.isExtensible(b_2) && (b_2.done = "c" === 23..toString()), -2 < "a", "b" / -5))]] = (22 && this) >= (Object.isExtensible(foo_1) && (foo_1.c -= this | 24..toString())) <= (Object.isExtensible(a_2) && (a_2[c = 1 + c, (22 % "bar" !== "b" < []) <= (Object.isExtensible(a) && (a[((c = 1 + c, Object.isExtensible(a) && (a[a++ + a ? --b + (() => { }) : typeof (c = 1 + c, (("a" ?? "function") & "bar" / "a") >>> (4 < null == (22 == "function")))] = (-1 << {}) - (2 <= -5) !== (c = c + 1, this + 2))) || 9).toString()[c = 1 + c, ([ , 0 ][1] | -2, undefined & "function") * ((c = c + 1, {}) >= ("bar" ?? 0))]] = ("" || -5) && "c" ^ 22))] >>>= {} << -0)) * ~null)) || b || 5).toString()): c = 1 + c, ((c = c + 1, false) <= "b" - ([ , 0 ].length === 2)) * (0 >= /[a2][^e]+$/ == (25 == 3)); c = 1 + c, (Infinity === /[a2][^e]+$/ | !0o644n % "function") & -1 - false != 38..toString() >> "object"; c = 1 + c, (false !== "undefined") % (b_2 >>>= "bar" % Infinity) < 24..toString() >>> null >> ("bar" !== 38..toString()); break; case --b + {}.Infinity: break; case (c = 1 + c, Object.isExtensible(a) && (a[(c = c + 1) + --b] = (38..toString() & NaN ^ -2 * []) >>> (NaN << [] ^ (Object.isExtensible(a_2) && (a_2.set = "number" | [ 3n ][0] > 2))))) ? (c = 1 + c, c = c + 1, "a" / ([ , 0 ].length === 2) > void [ , 0 ][1]) : (c = 1 + c, -(-3 >= ([ , 0 ].length === 2)) == ((Object.isExtensible(b_2) && (b_2.b = "function" ?? 38..toString())) ?? [] <= /[a2][^e]+$/)): break; } } while ((a++ + (b_2 && typeof b_2.undefined == "function" && --_calls_ >= 0 && (c = 1 + c, (24..toString() * 24..toString() === ("bar" || "number")) >> (foo_1 += +Infinity >= (Infinity == "bar")), b_2.undefined)()) ? a_2 : b = a) && --brake42 > 0); } { var brake47 = 5; while (a++ + (b_2 && typeof b_2.done == "function" && --_calls_ >= 0 && (a++ + (typeof a_2 == "function" && --_calls_ >= 0 && a_2("foo")), b_2.done)("b", "number")) && --brake47 > 0) { c = c + 1; } } break; } { var bar_2 = function foo_1({ [!function() { c = 1 + c, ((a = ("number", "")) | (foo_1 = "bar" != "b")) * ((Object.isExtensible(foo_1) && (foo_1[c = 1 + c, (this <= -1) * (NaN % "undefined"), "b" % 22 - (null <= /[a2][^e]+$/)] = (/[a2][^e]+$/, "a"))) & 2 === "number"); }()]: foo, static: a_2_2 }, bar) { function f1(b_2) { c = 1 + c, -0 === /[a2][^e]+$/ == ("bar" & 3) | (/[a2][^e]+$/ & {}) + (undefined || "a"); c = 1 + c, (Object.isExtensible(a) && (a.get = 23..toString() === Infinity)) <= (5 || "b") >= (c = c + 1, c = c + 1, 3); } var foo_1 = f1(-0, -3, {}); function f2(let_2, let_1, bar_1) { c = 1 + c, (([ 3n ][0] > 2) >> 23..toString() <= ("" < 24..toString())) >> (1 > "b" >= (23..toString() && [ , 0 ].length === 2)); } var foo_1 = f2((c = c + 1) + []); }({ 0: [], "": [], null: (c = c + 1) + (a && typeof a.a == "function" && --_calls_ >= 0 && a.a((c = 1 + c, (Object.isExtensible(b_2) && (b_2[c = 1 + c, (24..toString() / 5 && ("c", "")) - ((a_2 ^= (-4, /[a2][^e]+$/)) == 5 > "")] = (-42n).toString() === 4)) << (c = c + 1, -1) || ("function" || false) > (false >= "b")))) }, "", 3); } if ({ 1.5: "function" in { 0: (c = 1 + c, ~+(/[a2][^e]+$/ ?? 23..toString())) }, [(c = c + 1) + [ (c = 1 + c, (25 <= 38..toString()) + (this === -1) != (Number(0xdeadn << 16n | 0xbeefn) !== 23..toString()) >>> {} + -3), (c = 1 + c, (-4 != -0) / (Infinity - false) ^ Infinity - -1 & (Object.isExtensible(b_2) && (b_2.b ??= 23..toString() < true))), (c = 1 + c, (c = c + 1, "object" < "b") - ((foo_1 = -1 < "c") <= (c = c + 1, "foo"))), , (c = 1 + c, (null ^ 0 ^ 5 <= Infinity) & (Object.isExtensible(bar_2) && (bar_2[c = 1 + c, (("undefined" || true) <= ("number" >= "bar")) << (25 && /[a2][^e]+$/) * (true ^ "")] = -0 - Infinity)) <= 2 - "a") ].done]: --b + !((24..toString() !== Infinity) >> (0 << ([ , 0 ].length === 2)) << (("object" ?? "function") <= (1 == 23..toString()))), var: new function(b_1) { if (this) { this.static = (undefined ?? 25) & (false || -4); } c = 1 + c, c = c + 1, "b" > -1 & 3 >= -1; c = 1 + c, (23..toString() ^ -4) / (-5 | -2) !== null / ([ , 0 ].length === 2) << (null === 4); c = 1 + c, +(("a" << "foo") + (4 != 24..toString())); c = 1 + c, (4 << 25 <= (24..toString() < true)) << (b_2 = (c = c + 1, -3) & 0 * "number"); c = 1 + c, (NaN | null) <= ("object" === 1) && "function" << "c" | "a" - undefined; }((c = 1 + c, - -(0 * -2))) }[(c = c + 1) + (b = a)]) { var b_1 = function async_2() { const foo = { "-2": (c = 1 + c, -2 % 2 / ("a", 22) <= ("function" == "" ?? (Object.isExtensible(a) && (a[c = 1 + c, (Object.isExtensible(a) && (a[c = 1 + c, Object.isExtensible(foo_1) && (foo_1[-b] %= (foo_1 = 3 >>> -5) == ((-42n).toString() !== 5) != (c = c + 1, +"number"))] %= "a" !== "function")) & [ , 0 ][1] + NaN | (undefined << Number(0xdeadn << 16n | 0xbeefn)) + Infinity % "undefined"] = -0 ?? 38..toString())))) }[(c = 1 + c, (Infinity >>> false) % (2 === /[a2][^e]+$/) + +("bar", -0)) ? (c = 1 + c, (-4 >> {} ^ (4 ^ -2)) / ((NaN | 23..toString()) == ([ , 0 ][1] == true))) : (c = 1 + c, ((38..toString() | "number") == ("undefined" && [ , 0 ].length === 2)) << (foo_1 = (38..toString() < ([ , 0 ].length === 2)) * (a_2 %= 24..toString() !== 3)))]; }("number"); } } } } while (+(((-3 && Infinity) & "number" !== -2) >>> !-5 - (1 | 3)) && --brake2 > 0); } } var bar = f0(38..toString()); console.log(null, a, b, c, Infinity, NaN, undefined);
// uglified code // (beautified) var f, l = f = 10, x = 0; (function f0(foo_1, a_2, b_2) { for (var e, t, n, i, b, s, o, a, c = !1, _ = 5; 1 + c++ && 0 < _; --_) { switch (c++ + "c") { case c++ + c: switch (c++ + c--) { case -c: for (e in x = 1 + x, 25 !== (Object.isExtensible(foo_1) && (foo_1.then = 38)) ^ -4 / (x += 1, 2)) { x = 1 + x, c = (Object.isExtensible(foo_1) && (foo_1[foo_1] ^= 2)) - (this <= "b"); } switch (x = 1 + x, (Object.isExtensible(foo_1) && (foo_1.b = "number" / (2 === [ , 0 ].length) & 0)) >> 1) { default: case x = 1 + x, b_2 += !0: case x = 1 + x, (!0 !== (x += 1, "object")) <= NaN: case x = 1 + x, NaN >>> (foo_1 = 0) == (b_2 = !1) % (Object.isExtensible(c) && (c.c = 0)): } break; case (x += 1) + [ (x = 1 + x, (25 === (2 === [ , 0 ].length) < (2 === [ , 0 ].length)) - ("c" !== this || NaN)) ][(x += 1) + (x = 1 + x, foo_1 = 5 * ((Object.isExtensible(a_2) && (a_2[x = 1 + x, (Object.isExtensible(b_2) && (b_2.async = !1)) | ("undefined" <= this && !1)] = !1)) === "object" + !1))]: x = 1 + x; default: case --l + (--l + ("object" in { done: (x = 1 + x, (foo_1 += 23) != ("" + -42n < []) / !0) }) ? c && c[x = 1 + x, (2 === [ , 0 ].length) >> NaN != 0] : (x = 1 + x, (Object.isExtensible(c) && (c.var = -0 <= (!1 ^ (Object.isExtensible(c) && (c[x = 1 + x, 0] = 2)))) || 3).toString()[x = 1 + x, NaN ^ 0 == (a_2 = (2 === [ , 0 ].length) < -1)])): return x = 1 + x, "bar" ^ 2 === [ , 0 ].length && Object.isExtensible(a_2) && (a_2.done += !1), x = 1 + (x = 1 + (x = 1 + x)), x += 1, Object.isExtensible(c) && (c.set |= !1); } for (t = 5; --l + [ 1, (x = 1 + (x = 1 + x), 1 != (3 === (2 === [ , 0 ].length))), 1 | (a_2 = NaN != 5 - this), (x = 1 + (x = 1 + x), 0) ].null && 0 < --t; ) { x += 1; } break; default: case (x += 1) + ("function" == typeof f1 && 0 <= --f && f1()): if (c++ + { a: !1, NaN: (x = 1 + (x = 1 + x), (Object.isExtensible(c) && (c[c++ + function c_1() {}] = (2 === [ , 0 ].length) < null <= 0)) << 0) }[c++ + (l + 1 - .1 - .1 - .1)]) { x += 1; } else { for (n = 5; a_2 && "function" == typeof a_2.value && 0 <= --f && a_2.value() && 0 < --n; ) {} } for (i in x = 1 + x, Object.isExtensible(c) && (c.value &= (c = "38") >>> !1) || (2 === [ , 0 ].length) <= -2 <= (-5 ^ 2 === [ , 0 ].length)) { x = 1 + x, b_2 |= (Object.isExtensible(i) && (i[x = (x = 1 + x) + 1 + 1, !1] **= 0), !0 >> (x += 1, -2)); } for (b = 5; x = 1 + x, !1 <= this ^ 0 && 0 < --b; ) { x = 1 + x, x += 1; } if (c++ + (c = !1, --l + (x = 1 + (x = 1 + x), 0 < (-64 == 1 - this)))) { x = 1 + x, x = 1 + (x += 1); } else { switch ((x += 1) + (a_2 += (x = 1 + x, 0))) { case c: x = 1 + (x = 1 + x), Object.isExtensible(b_2) && (b_2[x = 1 + x, Object.isExtensible(a_2) && (a_2.foo <<= (Object.isExtensible(c) && (c.null >>= NaN)) <= -0 != (Object.isExtensible(c) && (c[x = 1 + x, void 0 >> ((Object.isExtensible(foo_1) && (foo_1[x = 1 + x, (this <= "") + !0 < !0] = !0)) >> ("" + -42n || -4))] += -5)))] += !0), x = 1 + x, x += 1; default: x = 1 + x; case /[abc4]/g.exec((x = 1 + x, (Object.isExtensible(foo_1) && (foo_1.var = NaN >>> (foo_1 >>= 0) / (4 ^ +("" + (0xdeadn << 16n | 0xbeefn)))) || l || 5).toString())): x = 1 + x, Object.isExtensible(a_2) && (a_2[[]] += !1 / (0 ^ !0o644n) != (Object.isExtensible(a_2) && (a_2[c] += 0))); break; case { done: (x = 1 + x, (a_2 = 1) >>> NaN) }.b: x = 1 + x, x += 1; } } break; case (x += 1) + l: s = 5; do { switch ({ set: [] >>> this <= !1 == 0, static: (x = 1 + (x = 1 + x), -0 == (b_2 ^= NaN) ^ (x += 1, b_2 -= -1)) }) { default: case /[abc4]/g.exec((x = 1 + x, (Object.isExtensible(a_2) && (a_2[(x += 1) + (c && c[x = 1 + x, !1 * (Object.isExtensible(a_2) && (a_2[--c] = (a_2 += 5 <= (2 === [ , 0 ].length)) + 22))] || 8).toString()[--l + (c **= (x = 1 + x, x += 1, Object.isExtensible(b_2) && (b_2.done = !1), NaN))]] = this >= (Object.isExtensible(foo_1) && (foo_1.c -= "24" | this)) <= -1 * (Object.isExtensible(a_2) && (a_2[x = 1 + x, !0 <= (Object.isExtensible(c) && (c[x = 1 + x, (Object.isExtensible(c) && (c[c++ + c ? --l + (() => {}) : (x = 1 + x, "number")] = -1 !== (x += 1, this + 2)) || 9).toString()[x = 1 + x, 0 * (x += 1, !1)]] = 22))] >>>= 0))) || l || 5).toString())): x = 1 + x, x = 1 + (x = 1 + (x += 1)), b_2 >>>= NaN; break; case --l + {}.Infinity: case x = 1 + x, Object.isExtensible(c) && (c[(x += 1) + --l] = 0 >>> (0 ^ (Object.isExtensible(a_2) && (a_2.set = "number" | 2 < 3n)))) ? (x = 1 + x, x += 1, void 0 < "a" / (2 === [ , 0 ].length)) : (x = 1 + x, -((2 === [ , 0 ].length) <= -3) == ((Object.isExtensible(b_2) && (b_2.b = "function")) ?? !0)): } } while ((c++ + (b_2 && "function" == typeof b_2.undefined && 0 <= --f && (x = 1 + x, foo_1 += !0, b_2.undefined)()) ? a_2 : l = c) && 0 < --s); for (o = 5; c++ + (b_2 && "function" == typeof b_2.done && 0 <= --f && (c++, "function" == typeof a_2 && 0 <= --f && a_2("foo"), b_2.done)("b", "number")) && 0 < --o; ) { x += 1; } } a = function foo_1({ [(x = 1 + x, !void (c = ""))]: foo }, bar) { (function f1(b_2) { x = 1 + (x = 1 + x), Object.isExtensible(c) && (c.get = !1), x = x + 1 + 1; })(), function f2(let_2, let_1, bar_1) { x = 1 + x; }(x += 1); }({ 0: [], "": [], null: (x += 1) + (c && "function" == typeof c.a && 0 <= --f && c.a((x = 1 + x, (Object.isExtensible(b_2) && (b_2[x = 1 + x, "" - (1 == (a_2 ^= /[a2][^e]+$/))] = "" + -42n === 4)) << (x += 1, -1) || !1))) }), { 1.5: "function" in { 0: (x = 1 + x, -1) }, [(x += 1) + [ !0 + (-1 === this) != ("23" !== +("" + (0xdeadn << 16n | 0xbeefn))) >>> {} + -3, (x = 1 + (x = 1 + x), 0 ^ Infinity & (Object.isExtensible(b_2) && (b_2.b ??= !1))), !1 - ((foo_1 = !1) <= "foo"), , (x = 1 + (x = (x = 1 + x) + 1 + 1), 1 & (Object.isExtensible(a) && (a[x = 1 + x, 0] = -Infinity)) <= NaN) ].done]: --l + !(!0 >> (0 << (2 === [ , 0 ].length)) << !1), var: new function(b_1) { this && (this.static = 24), x = 1 + x, x = 1 + (x = 1 + (x = 1 + (x += 1))), b_2 = 0, x = 1 + (x += 1); }(x = 1 + x) }[(x += 1) + (l = c)] && function async_2() { x = 1 + (x = 1 + (x = 1 + x)), foo_1 = ("38" < (2 === [ , 0 ].length)) * (a_2 %= !0); }(); } })("38"), console.log(null, 100, l, x, Infinity, NaN, void 0);
original result: null 100 185 Infinity NaN undefined uglified result: null 100 180 Infinity NaN undefined
// reduced test case (output will differ) // (beautified) (function foo_1({ [function() { (foo_1 = 0) * console.log(foo_1); }()]: foo }) { var foo_1; var foo_1; })(3); // output: function(){} // // minify: 0 // // options: { // "compress": { // "hoist_vars": true, // "keep_infinity": true, // "passes": 1000000, // "unsafe": true // }, // "keep_fargs": true, // "keep_fnames": true, // "module": false, // "toplevel": true, // "output": { // "v8": true // }, // "validate": true // }
minify(options): { "compress": { "hoist_vars": true, "keep_infinity": true, "passes": 1000000, "unsafe": true }, "keep_fargs": true, "keep_fnames": true, "module": false, "toplevel": true, "output": { "v8": true } } Suspicious compress options: collapse_vars hoist_vars side_effects unsafe
The text was updated successfully, but these errors were encountered:
fix corner case in hoist_vars
hoist_vars
81dbace
fixes mishoo#5863
d1a9ce6
6669ea1
Successfully merging a pull request may close this issue.
The text was updated successfully, but these errors were encountered: