@@ -6562,10 +6562,25 @@ merge(Compressor.prototype, {
|
||||
if (def.orig.length > 1) return null;
|
||||
if (def.assignments > 0) return false;
|
||||
if (def.name == name) return def;
|
||||
if (name == "await" && is_async(fn)) return false;
|
||||
if (name == "yield" && is_generator(fn)) return false;
|
||||
var forbidden;
|
||||
switch (name) {
|
||||
case "await":
|
||||
forbidden = is_async;
|
||||
break;
|
||||
case "yield":
|
||||
forbidden = is_generator;
|
||||
break;
|
||||
}
|
||||
return all(def.references, function(ref) {
|
||||
return ref.scope.find_variable(name) === sym;
|
||||
var scope = ref.scope;
|
||||
if (scope.find_variable(name) !== sym) return false;
|
||||
if (forbidden) {
|
||||
scope = scope.resolve();
|
||||
do {
|
||||
if (forbidden(scope)) return false;
|
||||
} while ((scope = scope.parent_scope.resolve()) && scope !== fn);
|
||||
}
|
||||
return true;
|
||||
}) && def;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user