if (node instanceof AST_Call) {
var exp = node.expression;
var tail = exp.tail_node();
- if (!(tail instanceof AST_Function)) return;
+ if (!is_function(tail)) return;
if (exp !== tail) exp.expressions.slice(0, -1).forEach(function(node) {
node.walk(tw);
});
expect_stdout: "function"
node_version: ">=8"
}
+
+issue_4406: {
+ options = {
+ merge_vars: true,
+ }
+ input: {
+ A = "PASS";
+ B = "FAIL";
+ (function() {
+ var a, b;
+ a = A;
+ (async function({
+ [console.log(a)]: {},
+ }) {})((b = B) && { undefined: b });
+ })();
+ }
+ expect: {
+ A = "PASS";
+ B = "FAIL";
+ (function() {
+ var a, b;
+ a = A;
+ (async function({
+ [console.log(a)]: {},
+ }) {})((b = B) && { undefined: b });
+ })();
+ }
+ expect_stdout: "PASS"
+ node_version: ">=8"
+}