зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1463373 - Throw rather than assert if buggy module resolve hook returns a module we didn't expect r=anba
This commit is contained in:
Родитель
3659b3ea86
Коммит
b95fd0ded3
|
@ -350,8 +350,8 @@ function InnerModuleInstantiation(module, stack, index)
|
|||
}
|
||||
|
||||
// Step 3
|
||||
assert(module.status === MODULE_STATUS_UNINSTANTIATED,
|
||||
"Bad module status in ModuleDeclarationInstantiation");
|
||||
if (module.status !== MODULE_STATUS_UNINSTANTIATED)
|
||||
ThrowInternalError(JSMSG_BAD_MODULE_STATUS);
|
||||
|
||||
// Steps 4
|
||||
ModuleSetStatus(module, MODULE_STATUS_INSTANTIATING);
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
// |jit-test| error: InternalError
|
||||
|
||||
let m = parseModule(`
|
||||
let c = parseModule(\`
|
||||
import "a";
|
||||
\`);
|
||||
c.declarationInstantiation();
|
||||
`);
|
||||
setModuleResolveHook(function(module, specifier) { return m; });
|
||||
m.declarationInstantiation();
|
||||
m.evaluation();
|
Загрузка…
Ссылка в новой задаче