fix corner cases with export (#4743)

fixes #4742
This commit is contained in:
Alex Lam S.L
2021-03-06 14:49:39 +00:00
committed by GitHub
parent 83c3838b07
commit ad903e9240
3 changed files with 70 additions and 5 deletions

View File

@@ -198,9 +198,10 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) {
} else if (node instanceof AST_SymbolConst) {
var def = scope.def_variable(node);
def.defun = defun;
def.exported = exported;
if (exported) def.exported = true;
} else if (node instanceof AST_SymbolDefun) {
defun.def_function(node, tw.parent()).exported = exported;
var def = defun.def_function(node, tw.parent());
if (exported) def.exported = true;
entangle(defun, scope);
} else if (node instanceof AST_SymbolFunarg) {
defun.def_variable(node);
@@ -209,9 +210,11 @@ AST_Toplevel.DEFMETHOD("figure_out_scope", function(options) {
var def = defun.def_function(node, node.name == "arguments" ? undefined : defun);
if (options.ie8) def.defun = defun.parent_scope.resolve();
} else if (node instanceof AST_SymbolLet) {
scope.def_variable(node).exported = exported;
var def = scope.def_variable(node);
if (exported) def.exported = true;
} else if (node instanceof AST_SymbolVar) {
defun.def_variable(node, node instanceof AST_SymbolImport ? undefined : null).exported = exported;
var def = defun.def_variable(node, node instanceof AST_SymbolImport ? undefined : null);
if (exported) def.exported = true;
entangle(defun, scope);
}