aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Lam S.L <alexlamsl@gmail.com>2017-08-01 02:38:32 +0800
committerGitHub <noreply@github.com>2017-08-01 02:38:32 +0800
commite7c21e87e3a3d1c9700941ecdf97a2a50fa2ae66 (patch)
tree4a30c2032592bc18639e73a854cebb2d2633af50
parentc4c2ef44d0b3238098888b6ea3941f831947b10b (diff)
downloadtracifyjs-e7c21e87e3a3d1c9700941ecdf97a2a50fa2ae66.tar.gz
tracifyjs-e7c21e87e3a3d1c9700941ecdf97a2a50fa2ae66.zip
fix `ie8` mangling of top-level `AST_SymbolCatch` (#2263)
fixes #2254
-rw-r--r--lib/scope.js1
-rw-r--r--test/compress/screw-ie8.js66
2 files changed, 67 insertions, 0 deletions
diff --git a/lib/scope.js b/lib/scope.js
index df7b2076..8e766a56 100644
--- a/lib/scope.js
+++ b/lib/scope.js
@@ -235,6 +235,7 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options){
ref.reference(options);
});
node.thedef = def;
+ node.reference(options);
return true;
}
}));
diff --git a/test/compress/screw-ie8.js b/test/compress/screw-ie8.js
index 5d6f1e2c..66559b0b 100644
--- a/test/compress/screw-ie8.js
+++ b/test/compress/screw-ie8.js
@@ -325,3 +325,69 @@ issue_2120_2: {
}
expect_stdout: "PASS"
}
+
+issue_2254_1: {
+ mangle = {
+ ie8: false,
+ }
+ input: {
+ "eeeeee";
+ try {
+ console.log(f("PASS"));
+ } catch (e) {}
+ function f(s) {
+ try {
+ throw "FAIL";
+ } catch (e) {
+ return s;
+ }
+ }
+ }
+ expect: {
+ "eeeeee";
+ try {
+ console.log(f("PASS"));
+ } catch (e) {}
+ function f(e) {
+ try {
+ throw "FAIL";
+ } catch (t) {
+ return e;
+ }
+ }
+ }
+ expect_stdout: "PASS"
+}
+
+issue_2254_2: {
+ mangle = {
+ ie8: true,
+ }
+ input: {
+ "eeeeee";
+ try {
+ console.log(f("PASS"));
+ } catch (e) {}
+ function f(s) {
+ try {
+ throw "FAIL";
+ } catch (e) {
+ return s;
+ }
+ }
+ }
+ expect: {
+ "eeeeee";
+ try {
+ console.log(f("PASS"));
+ } catch (e) {}
+ function f(t) {
+ try {
+ throw "FAIL";
+ } catch (e) {
+ return t;
+ }
+ }
+ }
+ expect_stdout: "PASS"
+}