aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorAlex Lam S.L <alexlamsl@gmail.com>2019-10-14 13:34:35 +0800
committerGitHub <noreply@github.com>2019-10-14 13:34:35 +0800
commita39bdb584097b376250e6d09cd9ee9453b9f43de (patch)
tree376cb17c90359d504fdc208caf1a842d50f643d6 /lib
parente8ab0a44b214527a46053c7d0600414c0c9899f3 (diff)
downloadtracifyjs-a39bdb584097b376250e6d09cd9ee9453b9f43de.tar.gz
tracifyjs-a39bdb584097b376250e6d09cd9ee9453b9f43de.zip
fix corner case with `collapse_vars` & `ie8` (#3469)
fixes #3468
Diffstat (limited to 'lib')
-rw-r--r--lib/compress.js3
-rw-r--r--lib/scope.js2
2 files changed, 3 insertions, 2 deletions
diff --git a/lib/compress.js b/lib/compress.js
index 29ef07c3..06ba43c0 100644
--- a/lib/compress.js
+++ b/lib/compress.js
@@ -896,8 +896,7 @@ merge(Compressor.prototype, {
if (lhs instanceof AST_This) return true;
if (lhs instanceof AST_SymbolRef) {
var def = lhs.definition();
- return def.orig[0] instanceof AST_SymbolLambda
- || compressor.exposed(def) && identifier_atom[def.name];
+ return def.lambda || compressor.exposed(def) && identifier_atom[def.name];
}
if (lhs instanceof AST_PropAccess) {
lhs = lhs.expression;
diff --git a/lib/scope.js b/lib/scope.js
index 08c9efd8..83df3fde 100644
--- a/lib/scope.js
+++ b/lib/scope.js
@@ -55,6 +55,7 @@ function SymbolDef(scope, orig, init) {
this.mangled_name = null;
this.undeclared = false;
this.id = SymbolDef.next_id++;
+ this.lambda = orig instanceof AST_SymbolLambda;
}
SymbolDef.next_id = 1;
@@ -210,6 +211,7 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) {
node.thedef = new_def;
node.reference(options);
});
+ if (old_def.lambda) new_def.lambda = true;
}
});