@@ -544,11 +544,10 @@ var AST_Call = DEFNODE("Call", "expression args", {
|
|||||||
},
|
},
|
||||||
_walk: function(visitor) {
|
_walk: function(visitor) {
|
||||||
return visitor._visit(this, function() {
|
return visitor._visit(this, function() {
|
||||||
var args = this.args;
|
|
||||||
for (var i = 0, len = args.length; i < len; i++) {
|
|
||||||
args[i]._walk(visitor);
|
|
||||||
}
|
|
||||||
this.expression._walk(visitor);
|
this.expression._walk(visitor);
|
||||||
|
this.args.forEach(function(node) {
|
||||||
|
node._walk(visitor);
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -5833,3 +5833,39 @@ issue_3110_3: {
|
|||||||
"foo",
|
"foo",
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
issue_3113: {
|
||||||
|
options = {
|
||||||
|
evaluate: true,
|
||||||
|
reduce_vars: true,
|
||||||
|
}
|
||||||
|
input: {
|
||||||
|
var c = 0;
|
||||||
|
(function() {
|
||||||
|
function f() {
|
||||||
|
while (g());
|
||||||
|
}
|
||||||
|
var a = f();
|
||||||
|
function g() {
|
||||||
|
a && a[c++];
|
||||||
|
}
|
||||||
|
g(a = 1);
|
||||||
|
})();
|
||||||
|
console.log(c);
|
||||||
|
}
|
||||||
|
expect: {
|
||||||
|
var c = 0;
|
||||||
|
(function() {
|
||||||
|
function f() {
|
||||||
|
while (g());
|
||||||
|
}
|
||||||
|
var a = f();
|
||||||
|
function g() {
|
||||||
|
a && a[c++];
|
||||||
|
}
|
||||||
|
g(a = 1);
|
||||||
|
})();
|
||||||
|
console.log(c);
|
||||||
|
}
|
||||||
|
expect_stdout: "1"
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user