enhance "functions" (#4791)

This commit is contained in:
Alex Lam S.L
2021-03-16 21:38:33 +00:00
committed by GitHub
parent b872ffee01
commit b244b4ec21
4 changed files with 156 additions and 37 deletions

View File

@@ -614,14 +614,14 @@ functions: {
async function b() {
return !!b;
}
var c = async function(c) {
async function c(c) {
return c;
};
}
if (await c(await b(await a()))) {
async function d() {}
async function e() {
return typeof e;
}
var d = async function() {};
var e = async function y() {
return typeof y;
};
var f = async function(f) {
return f;
};
@@ -672,9 +672,9 @@ functions_use_strict: {
async function b() {
return !!b;
}
var c = async function(c) {
async function c(c) {
return c;
};
}
if (await c(await b(await a()))) {
var d = async function() {};
var e = async function y() {
@@ -691,6 +691,54 @@ functions_use_strict: {
node_version: ">=8"
}
functions_anonymous: {
options = {
functions: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
var await = async function() {
console.log("PASS");
};
await(await);
}
expect: {
async function await() {
console.log("PASS");
}
await();
}
expect_stdout: "PASS"
node_version: ">=8"
}
functions_inner_var: {
options = {
functions: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
var await = function a() {
var a;
console.log(a, a);
};
await(await);
}
expect: {
function await() {
var a;
console.log(a, a);
}
await();
}
expect_stdout: "undefined undefined"
node_version: ">=8"
}
issue_4335_1: {
options = {
inline: true,

View File

@@ -2751,17 +2751,17 @@ functions: {
function b() {
return !!b;
}
var c = function(c) {
function c(c) {
return c;
};
}
if (c(b(a()))) {
function d() {}
function e() {
return typeof e;
}
var f = function(f) {
function f(f) {
return f;
};
}
console.log(a(d()), b(e()), c(f(42)), typeof d, e(), typeof f);
}
}();
@@ -2808,9 +2808,9 @@ functions_use_strict: {
function b() {
return !!b;
}
var c = function(c) {
function c(c) {
return c;
};
}
if (c(b(a()))) {
var d = function() {};
var e = function y() {
@@ -2826,6 +2826,30 @@ functions_use_strict: {
expect_stdout: "a true 42 function function function"
}
functions_inner_var: {
options = {
functions: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
var a = function() {
var a;
console.log(a, a);
};
a(a);
}
expect: {
function a() {
var a;
console.log(a, a);
}
a();
}
expect_stdout: "undefined undefined"
}
issue_2437: {
options = {
collapse_vars: true,

View File

@@ -388,14 +388,14 @@ functions: {
function* b() {
return !!b;
}
var c = function*(c) {
function* c(c) {
return c;
};
}
if (yield* c(yield* b(yield* a()))) {
function* d() {}
function* e() {
return typeof e;
}
var d = function*() {};
var e = function* y() {
return typeof y;
};
var f = function*(f) {
return f;
};
@@ -446,9 +446,9 @@ functions_use_strict: {
function* b() {
return !!b;
}
var c = function*(c) {
function* c(c) {
return c;
};
}
if (yield* c(yield* b(yield* a()))) {
var d = function*() {};
var e = function* y() {
@@ -465,6 +465,54 @@ functions_use_strict: {
node_version: ">=4"
}
functions_anonymous: {
options = {
functions: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
var yield = function*() {
return "PASS";
};
console.log(yield().next(yield).value);
}
expect: {
function* yield() {
return "PASS";
}
console.log(yield().next(yield).value);
}
expect_stdout: "PASS"
node_version: ">=4"
}
functions_inner_var: {
options = {
functions: true,
reduce_vars: true,
toplevel: true,
unused: true,
}
input: {
var yield = function* a() {
var a;
console.log(a, a);
};
yield().next(yield);
}
expect: {
function* yield() {
var a;
console.log(a, a);
}
yield().next(yield);
}
expect_stdout: "undefined undefined"
node_version: ">=4"
}
negate_iife: {
options = {
negate_iife: true,