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(yield_2, async_2, a_1) { function f2(bar_2) { var a_1_1 = 38..toString(); { var brake52 = 5; do { try { for (var brake54 = 5; (b += a) && brake54 > 0; --brake54) { var expr55 = (c = 1 + c, a_1 = (0 > false !== 23..toString() << [ , 0 ][1]) << ("a" <= true != (this === [ , 0 ][1]))); for (var key55 in expr55) { c = 1 + c; var async_2_2 = expr55[key55]; c = 1 + c, (c = c + 1, 22) * ("b" % 0) <= (~"function" | 1 != "undefined"); } } } finally { switch (c = 1 + c, (c = c + 1, 0 || false) ^ (this || -3) > (-5 != 5)) { case c = 1 + c, (-1 ^ Infinity) / (2 >>> []) && (1 >>> "b") * (-5 >> Infinity): ; break; default: ; case c = 1 + c, ([ , 0 ].length === 2) + 3 ^ ("" && 4) | (yield_2 && (yield_2.c = -0 - "number")) <= [] << -3: ; break; case c = 1 + c, {} % "b" - (-1 ^ -2) << (("c" && "bar") <= (a_1_1 && (a_1_1.a = 22 % [ , 0 ][1]))): ; break; } try { c = 1 + c, (Number(0xdeadn << 16n | 0xbeefn) << -3 != (null == "undefined")) < (c = c + 1, 24..toString()) >>> (5 === -3); } finally { } } } while (void (("b" % {} >= ([] < 5)) >>> ((23..toString() ^ 23..toString()) != (NaN ^ /[a2][^e]+$/))) && --brake52 > 0); } } var NaN = f2(-2, typeof f2 == "function" && --_calls_ >= 0 && f2(new function yield_1(foo_1, Infinity_1, Infinity_1_1) { this.foo = "number" >= ([ , 0 ].length === 2) & NaN < "b"; this.get = null >= "" >= (Infinity && -4); this[(c = c + 1) + (Infinity_1 = (c = 1 + c, ([ , 0 ][1] ^ "undefined" || 25 / "c") && ([] | [] && null ^ [ , 0 ][1])))] = 4 >>> 24..toString() == (c = c + 1, "function"); c = 1 + c, -4 !== "bar" | -2 * null ?? 5 >> [] === (Infinity_1_1 && (Infinity_1_1.in += "number" == -4)); c = 1 + c, ([] + -0 & 1 >> undefined) - (-3 > "c" != (/[a2][^e]+$/, 1)); c = 1 + c, (Infinity_1_1 && (Infinity_1_1[/[abc4]/g.exec(((c = 1 + c, (4 > -1 <= false >> "c") % ([ , 0 ][1] << -3 ^ ("undefined", 4))) || b || 5).toString())] = (async_2 && (async_2[c = 1 + c, "" % -0 | -0 << 23..toString() || (c = c + 1, 25) !== 4 - undefined] = 2 < this), async_2 && (async_2.in = [] != /[a2][^e]+$/)))) >>> ((c = c + 1, "a") > ([] === "foo")); c = 1 + c, 4 > 0 < -3 % 25, Infinity_1 && (Infinity_1[!((foo_1 = (-0 << NaN) * (23..toString() ^ {})) === (null ^ "a" ^ -0 <= "function"))] += 2 === "" || 0 | 38..toString()); }(), "function", "a"), --b); function f3(bar, yield_2_1, yield) { { var a = function f4() { { var brake65 = 5; do { c = 1 + c, -((undefined || 0) === (false != 4)); } while ((c = 1 + c, (c = c + 1, false) >> ("b" ^ null) << (-1 && 24..toString() || -1 & "b")) && --brake65 > 0); } if (c = 1 + c, (a_1 >>>= {} + 22 ?? (yield_2 && (yield_2.null = undefined >>> "function"))) ^ (-4 !== -3 ^ (c = c + 1, 3))) { c = 1 + c, /[a2][^e]+$/ <= ([ , 0 ].length === 2) <= undefined / true ^ (2 || 23..toString()) > ("" < NaN); } }(); } if (--b + (typeof yield == "function" && --_calls_ >= 0 && yield())) { var b_1 = function NaN(a) { c = 1 + c, ([ , 0 ][1] >>> -3 ^ (NaN ^ 22)) - ((-0 & 4) > "c" >>> 1); c = 1 + c, a_1 += 23..toString() >>> 4 & 1 <= [ , 0 ][1] ?? (Infinity ^ undefined) - (undefined >>> 1); }([]); } } var a = f3(undefined); function f5() { { var await_1 = function f6() { { } }({}); } { var expr76 = /[abc4]/.test((void ((-3 << "c" != (-2 != -0)) - ((-0 === Infinity) << (-3 << false))) || b || 5).toString()); L14028: for (var key76 in expr76) { c = 1 + c; var async_2 = expr76[key76]; if ((/[abc4]/.test(((c = 1 + c, ((yield_2 && (yield_2[c = 1 + c, (c = c + 1, 22 > false) != (("function" ^ "") !== 4 <= undefined)] ||= 2 ?? 1)) | 4 < "undefined") <= ((false && 2) < (null >= "a"))) || b || 5).toString()) || 6).toString()[(c = c + 1) + (typeof f5 == "function" && --_calls_ >= 0 && f5())]) { var expr78 = typeof b_2; L14029: for (const key78 in expr78) { c = 1 + c; var key76 = expr78[key78]; { var expr79 = (c = 1 + c, (23..toString() <= -4) / (0 == 24..toString()) + ("undefined" >> ([ , 0 ].length === 2)) / ([] % [])); for (var key79 in expr79) { c = 1 + c, (key78 && (key78[--b + (b = a)] /= ~-1 | 2 === 23..toString())) <= (null ^ this | (2 | "function")); } } } } else {} } } } var c_2 = f5(); } var b_2 = f0(null, [ b /= a, (c = c + 1) + void function() { L14023: for (var brake1 = 5; delete (-5 - /[a2][^e]+$/ >= "object" * 4 <= (-5 > 22) >>> ("" === "foo")) && brake1 > 0; --brake1) { try { { {} } } finally { const { 1.5: arguments } = { 1.5: (c = c + 1) + (a && typeof a.next == "function" && --_calls_ >= 0 && a.next(22, "function")) }; try { { var expr6 = a++ + (-5 in { [(c = 1 + c, 22 <= "function" > [ , 0 ][1] / -1 === ("foo" || 23..toString() || !22))]: (c = 1 + c, -Infinity % (38..toString(), -5) !== (5 < 5 & true + this)), done: (c = 1 + c, a >>= (!([ , 0 ].length === 2) === ("c" ^ 38..toString())) << (arguments && (arguments[(c = c + 1) + typeof (c = 1 + c, 4 - 22 >>> (true || -1) !== undefined >>> -5 >> "b" + "undefined")] = NaN & -1 ^ ([ , 0 ][1] ^ undefined)))) }); for (var key6 in expr6) { c = 1 + c; var let_2 = expr6[key6]; { var brake7 = 5; do { c = 1 + c, Number(0xdeadn << 16n | 0xbeefn) >> 5 & ("b" ^ "foo") || (-3 || [ , 0 ].length === 2) < (let_2 && (let_2.var += "a" * -4)); } while ((c = 1 + c, (false || true) >>> (this ^ 3) & (key6 = (let_2 && (let_2[c = 1 + c, (null ^ -0) === "a" / "undefined" === ~(NaN << "foo")] -= "c" << undefined)) >>> (null | []))) && --brake7 > 0); } } } } finally { { var expr10 = (c = 1 + c, (/[a2][^e]+$/ < NaN) % (1 > undefined) >= (Infinity !== -5, ~38..toString())); for (var key10 in expr10) { c = 1 + c, arguments && (arguments[--b + [ (c = 1 + c, /[a2][^e]+$/ !== false | (key10 && (key10.foo = false == this)) && null * -2 >> (24..toString() || [ , 0 ].length === 2)) ][c = 1 + c, (key10 *= (c = c + 1, "object") >>> (-0 << 22)) ?? (22, 4) < 2 - "bar"]] = (this === -4) << "bar" % "a") || (undefined - "undefined", "object" ?? 25); } } } for (var brake12 = 5; (c = c + 1) + ("undefined" in [ (c = 1 + c, (a += "a" - "undefined", 24..toString() ^ 5) & (22 / 1 || -"bar")) ]) && brake12 > 0; --brake12) { typeof arguments == "function" && --_calls_ >= 0 && arguments("function"); } } } { var undefined = function f1() { { var NaN = (c = 1 + c, (24..toString() >= Infinity || -5 & "a") != (("undefined" && 22) === 25 >> 24..toString())), bar_2 = (c = 1 + c, ((NaN += true & undefined) === NaN - null) * (23..toString() >> "bar" >>> (-1 < "a"))); { var brake17 = 5; L14024: do { c = 1 + c, (bar_2 && (bar_2.b ^= -5 - "bar" - ([] === -1))) / (bar_2 && (bar_2.c += 4 != [] != (bar_2 = ([ , 0 ].length === 2) / "foo"))); } while ((c = 1 + c, delete +NaN ?? [ , 0 ].length === 2 & "b" & ("bar" & -3)) && --brake17 > 0); } } if (--b + (a && typeof a.static == "function" && --_calls_ >= 0 && a.static(-0))) { var brake20 = 5; L14025: do { var foo_1 = (c = 1 + c, "c" - 23..toString() == "bar" >= 1 === 24..toString() >>> undefined > "object" % "foo"), bar = (c = 1 + c, ("a" !== "bar" | false <= {}) / ((c = c + 1, 22) >= (a && ([ a.undefined ] = [ "number" - 0 ])))); } while ([ (c = 1 + c, ("object" << -4 ^ 4 === "") === 3 * "undefined" << (/[a2][^e]+$/ ^ -3)), (c = 1 + c, 5 - -3 < delete Infinity != (/[a2][^e]+$/ && "function" && (c = c + 1, 2))), (c = 1 + c, (foo_1 && (foo_1[c = 1 + c, (-1 === Infinity | (c = c + 1, 23..toString())) >>> ("object", /[a2][^e]+$/) % ([] + 22)] ^= "" < NaN)) - (true ^ NaN) ?? (undefined | -5 ?? ("foo" || "c"))) ] && --brake20 > 0); } else { var brake22 = 5; do { { var brake23 = 5; do { c = 1 + c, ("c" != 0 || "undefined" - 3) < ("foo" << 24..toString() || 4 & "function"); } while ((c = 1 + c, (-2 + 38..toString() & -0 / "number") >= (5 < "a") * (25 >>> false)) && --brake23 > 0); } } while ((c = c + 1) + -(24..toString() <= 4 < (38..toString() ^ ""), /[a2][^e]+$/ + false - ("undefined" ^ 2)) && --brake22 > 0); } }(); } switch ((c = c + 1) + +(((undefined && (undefined.c = "function" > -0)) == (undefined = -2 ^ -4)) / (undefined && (undefined.b += (Infinity ^ 2) % (-2 >> 3))))) { case undefined: switch ([ !(null <= 4 ^ 4 != -5 || "foo" + 24..toString() && ("foo" || -2)), (c = c + 1) + (b = a), , undefined && undefined[c = 1 + c, undefined -= ([ 3n ][0] > 2 <= 22 & (undefined = "c" / 25)) > (-5 % NaN ^ {} + [])] ]) { case { [--b + !function() { }()]: a++ + typeof foo_2, async: undefined && typeof undefined.in == "function" && --_calls_ >= 0 && undefined.in(false, (-42n).toString(), (c = 1 + c, (false & -2) + (undefined && ([ undefined.async ] = [ -2 || true ])) !== ((c = c + 1, "number") === ("undefined" != "undefined")))) }: { var expr27 = (c = c + 1) + ((c = 1 + c, (-5 >>> "c" & 1 % -2) >>> ("foo" !== 3 || -4 << this)) ? (c = 1 + c, /[a2][^e]+$/ - 4 >> (undefined %= [ , 0 ][1] + false) ^ ("" & 1) >>> (true ^ 25)) : (c = 1 + c, void (("foo" || /[a2][^e]+$/) ** ("c" != /[a2][^e]+$/)))); for (var [ key27 ] in expr27) { c = 1 + c; var foo_1 = expr27[key27]; var a_2; } } break; case a++ + (-1 << -4 >= ("function" > []) ^ ((c = c + 1, 1) || ([ 3n ][0] > 2) % 3)): for (var brake29 = 5; (c = c + 1) + void function a_2() { }() && brake29 > 0; --brake29) { var brake30 = 5; L14026: do { c = 1 + c, c = c + 1, "foo" >>> 23..toString() > (5 & "function"); } while ((c = 1 + c, undefined && (undefined[--b + b--] = (3 - "object") % (24..toString() + "function") <= (-4 != "object" && -4 ^ this))) && --brake30 > 0); } try { if (c = 1 + c, undefined && (undefined[+function() { c = 1 + c, undefined && (undefined.done = false == null ^ (c = c + 1, "foo")) && (undefined && (undefined.then = "foo" + "number")) & null >>> true; c = 1 + c, (4 || "undefined") + ({} && "b") ^ (!Infinity | + -1); }()] &= (c = c + 1, [ , 0 ].length === 2 | this) && ("a" - 0 || 2 <= -1))) { c = 1 + c, (0 == "object" || 0 === 24..toString()) | [ , 0 ][1] <= 5 ^ 38..toString() >= "undefined"; } } finally { c = 1 + c, undefined += null >> 24..toString() >>> (/[a2][^e]+$/ & this) | 23..toString() << -1 == 5 - 38..toString(); c = 1 + c, (undefined && (undefined.c = (undefined && (undefined.NaN -= 0 >> 3)) != -2 << 4)) - ((undefined && (undefined.foo >>= Infinity ** -3)) << (-4 << 23..toString())); } break; case delete b: if ((c = c + 1) + (delete (false >= 2) === (-3 ^ "object") <= (c = c + 1, 38..toString()))) { return c = 1 + c, undefined && (undefined.null ||= ("number" && "object") != [ , 0 ][1] << -1 ?? (undefined &= 5 >= null === (false | null))); } break; case typeof f2 == "function" && --_calls_ >= 0 && f2(null): { var brake41 = 5; while (((c = 1 + c, ("number" <= [] || 22 >= false) / (23..toString() >>> undefined <= (24..toString() ?? -4))) || a || 3).toString() && --brake41 > 0) { return c = 1 + c, 25 < 5 === "b" % 0 ^ (undefined &= 23..toString() != 25 && [] >>> 5); } } break; } break; default: case /[abc4]/.test((a-- || b || 5).toString()): break; case a++ + (typeof b_2 != "symbol"): { var brake43 = 5; L14027: do { { { } { var brake46 = 5; while ((c = 1 + c, 1 / -0 !== (undefined && (undefined[c = 1 + c, (([ , 0 ].length === 2) << -1, c = c + 1, true) !== (/[a2][^e]+$/ ^ -2) > (undefined && (undefined[c = 1 + c, (4 === "undefined") >= (c = c + 1, -1) ^ -0 < "function" == (null === 0)] *= 0 || 24..toString()))] = "c" > "foo")) ^ (undefined && (undefined.b = undefined << false ^ -0 - 24..toString()))) && --brake46 > 0) { c = 1 + c, (3 ^ -3) == (Infinity != 25) === (-4 / "b" === -4 <= 23..toString()); } } { var expr48 = "" + (c = 1 + c, ("" === [ , 0 ][1]) % +2 / (24..toString() / ([ , 0 ].length === 2) >> (NaN >> 0))); for (var key48 of expr48) { c = 1 + c; var foo_2 = expr48[key48]; c = 1 + c, ("b" > []) >>> (null || undefined) >> (3 + true >>> "" / /[a2][^e]+$/); } } } } while (typeof [ ..."" + undefined ].c && --brake43 > 0); } ; break; } }(), a++ + +a, a++ + ((a && (a.in += (a *= "undefined" << null) > 23..toString() * 2)) != void (-4 + -0)), -2 ]); console.log(null, a, b, c, Infinity, NaN, undefined);
// uglified code // (beautified) var _calls_ = 10, a = 100, b = 10, c = 0; function f0(yield_2, async_2, a_1) { function f2() { var a_1_1 = 38..toString(); try { for (var brake54 = 5; (b += a) && 0 < brake54; --brake54) { c = 1 + c; var key55, expr55 = a_1 = (!1 !== 23..toString() << 0) << (0 != (0 === this)); for (key55 in expr55) { c = 1 + c; c = 1 + c, c += 1; } } } finally { switch (c = 1 + c, !1 ^ !0 < (this || -3)) { case c = 1 + (c += 1), -1 / (2 >>> []) && -5: break; default: case c = 1 + c, 3 + (2 === [ , 0 ].length) ^ "" | (yield_2 && (yield_2.c = 0 / 0)) <= [] << -3: case c = 1 + c, {} % "b" - 1 << ("bar" <= (a_1_1 && (a_1_1.a = 0 / 0))): } c = 1 + c, Number(0xdeadn << 16n | 0xbeefn), c += 1, 24..toString(); } 23..toString(), 23..toString(); } var NaN = f2(0 <= --_calls_ && f2(new function(foo_1, Infinity_1, Infinity_1_1) { this.foo = (2 === [ , 0 ].length) <= "number" & NaN < "b", this.get = !0, this[(c += 1) + (c = 1 + c, Infinity_1 = 0 / 0)] = 4 >>> 24..toString() == (c += 1, "function"), c = 1 + (c = 1 + (c = 1 + c)), Infinity_1_1 && (Infinity_1_1[/[abc4]/g.exec((c = 1 + c, (b || 5).toString()))] = (async_2 && (async_2[c = 1 + c, 0 / 0 | -0 << 23..toString() || (c += 1, !0)] = 2 < this), async_2 && (async_2.in = [] != /[a2][^e]+$/))), c = 1 + (c += 1), Infinity_1 && (Infinity_1[!(0 == (-0 << NaN) * (23..toString() ^ {}))] += 0 | 38..toString()); }()), --b); var a = function(yield) { for (var brake65 = 5; c = 1 + (c = 1 + c), c += 1, 0 << (24..toString() || 0) && 0 < --brake65; ) {} c = 1 + c, !0 ^ (a_1 >>>= {} + 22 ?? (yield_2 && (yield_2.null = 0))) ^ (c += 1, 3) && (c = 1 + c), --b + ("function" == typeof yield && 0 <= --_calls_ && yield()) && (c = 1 + (c = 1 + c), a_1 += 23..toString() >>> 4 & !1 ?? 0); }(); (function f5() { var expr76 = /[abc4]/.test((b || 5).toString()); for (key76 in expr76) { if (c = 1 + c, expr76[key76], (/[abc4]/.test((c = 1 + c, ((!1 | (yield_2 && (yield_2[c = 1 + c, 1 != (c += 1, !0)] ||= 2))) <= !1 || b || 5).toString())) || 6).toString()[(c += 1) + (0 <= --_calls_ && f5())]) { var expr78 = typeof b_2; for (const key78 in expr78) { c = 1 + c; var key79, key76 = expr78[key78]; for (key79 in c = 1 + c, (23..toString() <= -4) / (0 == 24..toString()) + ("undefined" >> (2 === [ , 0 ].length)) / ([] % [])) { c = 1 + c, key78 && (key78[--b + (b = a)] /= 0 | 2 === 23..toString()); } } } } })(); } var b_2 = f0(null, [ b /= a, (c += 1) + void function() { for (var key10, brake1 = 5; 0 < brake1; --brake1) { const arguments = { 1.5: (c += 1) + (a && "function" == typeof a.next && 0 <= --_calls_ && a.next(22, "function")) }["1.5"]; try { var key6, expr6 = a++ + (-5 in { [!1]: (c = 1 + (c = 1 + c), -1 / 0 % (38..toString(), -5) != (!1 & !0 + this)), done: (c = 1 + c, a >>= (!(2 === [ , 0 ].length) === ("c" ^ 38..toString())) << (arguments && (arguments[(c += 1) + (c = 1 + c, typeof (-18 >>> !0 != undefined >>> -5 >> "bundefined"))] = 0 ^ undefined))) }); for (key6 in expr6) { c = 1 + c; for (var let_2 = expr6[key6], brake7 = 5; c = 1 + c, Number(0xdeadn << 16n | 0xbeefn) >> 5 & 0 || let_2 && (let_2.var += NaN), c = 1 + c, !0 >>> (3 ^ this) & (key6 = (let_2 && (let_2[c = 1 + c, !1] -= "c" << undefined)) >>> (null | [])) && 0 < --brake7; ) {} } } finally { for (key10 in c = 1 + c, !1 % (undefined < 1) >= ~38..toString()) { c = 1 + c, arguments && (arguments[--b + [ (c = 1 + c, !0 | (key10 && (key10.foo = 0 == this)) && -0 >> (24..toString() || 2 === [ , 0 ].length)) ][c = 1 + c, (key10 *= (c += 1, 0)) ?? !1]] = (-4 === this) << NaN); } } for (var brake12 = 5; (c += 1) + ("undefined" in [ (c = 1 + c, 22 & (a += NaN, 5 ^ 24..toString())) ]) && 0 < brake12; --brake12) { "function" == typeof arguments && 0 <= --_calls_ && arguments("function"); } } var undefined = function() { c = 1 + c; for (var NaN = (24..toString() >= 1 / 0 || 0) != (22 == 25 >> 24..toString()), bar_2 = (c = 1 + c, ((NaN += !0 & undefined) === NaN - null) * (23..toString() >> "bar" >>> !1)), brake17 = 5; c = 1 + c, bar_2 && (bar_2.b ^= 0 / 0 - (-1 === [])), bar_2 && (bar_2.c += 4 != [] != (bar_2 = (2 === [ , 0 ].length) / "foo")), c = 1 + c, (delete NaN ?? 2 === [ , 0 ].length & 0) && 0 < --brake17; ) {} if (--b + (a && "function" == typeof a.static && 0 <= --_calls_ && a.static(-0))) { var brake20 = 5; do { c = 1 + c; var foo_1 = "c" - 23..toString() == 0 == 24..toString() >>> undefined > 0 / 0; c = 1 + c, c += 1, a && ([ a.undefined ] = [ 0 / 0 ]); } while (c = 1 + (c = 1 + c), delete Infinity, c = 1 + (c += 1), foo_1 && (foo_1[c = 1 + c, (!1 | (c += 1, 23..toString())) >>> /[a2][^e]+$/ % ([] + 22)] ^= "" < NaN), 0 < --brake20); } else { var brake22 = 5; do { for (var brake23 = 5; c = 1 + c, 24..toString(), c = 1 + c, 0 <= (-2 + 38..toString() & 0 / 0) && 0 < --brake23; ) {} } while ((c += 1) + (24..toString(), 38..toString(), -0 / 0) && 0 < --brake22); } }(); switch ((c += 1) + ((undefined && (undefined.c = !1)) == (undefined = 2)) / (undefined && (undefined.b += 0))) { case undefined: switch ([ (24..toString(), !1), (c += 1) + (b = a), , undefined && undefined[c = 1 + c, undefined -= (2 < 3n <= 22 & (undefined = NaN)) > (NaN ^ {} + [])] ]) { case { [--b + !0]: a++ + typeof foo_2, async: undefined && "function" == typeof undefined.in && 0 <= --_calls_ && undefined.in(!1, (-42n).toString(), (c = 1 + c, 0 + (undefined && ([ undefined.async ] = [ -2 ])) !== (!1 === (c += 1, "number")))) }: var key27, expr27 = (c += 1) + void (c = 1 + (c = 1 + c)); for ([ key27 ] in expr27) { c = 1 + c; } break; case a++ + ([] < "function" <= -1 << -4 ^ (c += 1, 1)): for (var brake29 = 5; (c += 1) + void 0 && 0 < brake29; --brake29) { for (var brake30 = 5; c = 1 + c, c += 1, 23..toString(), c = 1 + c, undefined && (undefined[--b + b--] = NaN % (24..toString() + "function") <= (-4 ^ this)) && 0 < --brake30; ) {} } try { c = 1 + c, undefined && (undefined[c = 1 + c, undefined && (undefined.done = !1 ^ (c += 1, "foo")) && undefined && (undefined.then = "foonumber"), +void (c = 1 + c)] &= (c += 1, 2 === [ , 0 ].length | this && !1)) && (c = 1 + c, 24..toString(), 38..toString()); } finally { c = 1 + c, undefined += null >> 24..toString() >>> (/[a2][^e]+$/ & this) | 23..toString() << -1 == 5 - 38..toString(), c = 1 + c, undefined && (undefined.c = -32 != (undefined && (undefined.NaN -= 0))), undefined && (undefined.foo >>= 0), 23..toString(); } break; case delete b: if ((c += 1) + (!0 == -3 <= (c += 1, 38..toString()))) { return c = 1 + c, undefined && (undefined.null ||= !0); } break; case "function" == typeof f2 && 0 <= --_calls_ && f2(null): expr27 = 5; if (c = 1 + c, (("number" <= [] || !0) / (23..toString() >>> undefined <= (24..toString() ?? -4)) || a || 3).toString() && 0 < --expr27) { return c = 1 + c, 23..toString(); } } break; default: case /[abc4]/.test((a-- || b || 5).toString()): break; case a++ + ("symbol" != typeof b_2): var brake43 = 5; do { for (var brake46 = 5; c = 1 + c, -1 / 0 !== (undefined && (undefined[c = 1 + c, c += 1, !0 != (undefined && (undefined[c = 1 + c, (c += 1, -1) <= !1 ^ !0] *= 24..toString())) < -2] = !1)) ^ (undefined && (undefined.b = undefined << !1 ^ -0 - 24..toString())) && 0 < --brake46; ) { c = 1 + c, 23..toString(); } var key48, expr48 = "" + (c = 1 + c, 0 / (24..toString() / (2 === [ , 0 ].length) >> 0)); for (key48 of expr48) { c = 1 + c; var foo_2 = expr48[key48]; c = 1 + c; } } while (0 < --brake43); } }(), a++ + +a, a++ + (null != (a && (a.in += (a *= 0) > 2 * 23..toString()))), -2 ]); console.log(null, a, b, c, 1 / 0, NaN, void 0);
original result: null NaN NaN 140 Infinity NaN undefined uglified result: null NaN NaN 132 Infinity NaN undefined
// reduced test case (output will differ) // (beautified) (function() { var NaN = 0 >> 0..toString; console.log(delete +NaN); })(); // output: true // // minify: false // // options: { // "mangle": false, // "output": { // "v8": true // }, // "validate": true // }
minify(options): { "mangle": false, "output": { "v8": true } } Suspicious compress options: evaluate reduce_vars
The text was updated successfully, but these errors were encountered:
fix corner case in evaluate
evaluate
b4f92e2
fixes mishoo#5362
fix corner case in evaluate (#5363)
212ce46
fixes #5362
Successfully merging a pull request may close this issue.
The text was updated successfully, but these errors were encountered: