Bug 1476921 - Don't throw an error in GetModuleNamespace for errored modules. r=jonco

--HG--
extra : histedit_source : 22e239f1cf048ee327507d2ad9cfabca2100d645
This commit is contained in:
Ashley Hauck 2018-08-27 10:01:00 +03:00
Родитель 14f9c628c9
Коммит ff648f7d51
1 изменённых файлов: 4 добавлений и 9 удалений

Просмотреть файл

@ -188,19 +188,14 @@ function GetModuleNamespace(module)
// Step 1
assert(IsObject(module) && IsModule(module), "GetModuleNamespace called with non-module");
// Until issue https://github.com/tc39/ecma262/issues/1155 is resolved,
// violate the spec here and throw if called on an errored module.
if (module.status === MODULE_STATUS_EVALUATED_ERROR)
throw GetModuleEvaluationError(module);
// Steps 2-3
// Step 2
assert(module.status !== MODULE_STATUS_UNINSTANTIATED,
"Bad module state in GetModuleNamespace");
// Step 4
// Step 3
let namespace = module.namespace;
// Step 3
// Step 4
if (typeof namespace === "undefined") {
let exportedNames = callFunction(module.getExportedNames, module);
let unambiguousNames = [];
@ -213,7 +208,7 @@ function GetModuleNamespace(module)
namespace = ModuleNamespaceCreate(module, unambiguousNames);
}
// Step 4
// Step 5
return namespace;
}