return !this.is_declared(compressor);
});
def(AST_Try, function(compressor) {
- return this.bcatch ? this.bcatch.may_throw(compressor) : any(this.body, compressor)
+ return (this.bcatch ? this.bcatch.may_throw(compressor) : any(this.body, compressor))
|| this.bfinally && this.bfinally.may_throw(compressor);
});
def(AST_Unary, function(compressor) {
}
expect_stdout: "foo undefined"
}
+
+issue_3651: {
+ options = {
+ collapse_vars: true,
+ toplevel: true,
+ }
+ input: {
+ var a, b = "PASS";
+ try {
+ a = function() {
+ try {
+ var c = 1;
+ while (0 < --c);
+ } catch (e) {} finally {
+ throw 42;
+ }
+ }();
+ b = "FAIL";
+ a.p;
+ } catch (e) {
+ console.log(b);
+ }
+ }
+ expect: {
+ var a, b = "PASS";
+ try {
+ a = function() {
+ try {
+ var c = 1;
+ while (0 < --c);
+ } catch (e) {} finally {
+ throw 42;
+ }
+ }();
+ b = "FAIL";
+ a.p;
+ } catch (e) {
+ console.log(b);
+ }
+ }
+ expect_stdout: "PASS"
+}