Fix ModuleNamespace bug

issue: I5TVH4
Signed-off-by: lifansheng <lifansheng1@huawei.com>
Change-Id: Ic044765910f34e55a97157ecb979ae16dc1cafde
This commit is contained in:
lifansheng 2022-09-29 17:28:27 +08:00
parent 037e8e0b88
commit e57092904c

View File

@ -274,7 +274,12 @@ bool ModuleNamespace::ValidateKeysAvailable(JSThread *thread, const JSHandle<Tag
JSHandle<JSTaggedValue> binding = SourceTextModule::ResolveExport(thread, mm, key, resolveSet);
// Adapter new module
ASSERT(binding->IsResolvedBinding() || binding->IsResolvedIndexBinding());
JSTaggedValue targetModule = JSHandle<ResolvedBinding>::Cast(binding)->GetModule();
JSTaggedValue targetModule = JSTaggedValue::Undefined();
if (binding->IsResolvedBinding()) {
targetModule = JSHandle<ResolvedBinding>::Cast(binding)->GetModule();
} else if (binding->IsResolvedIndexBinding()) {
targetModule = JSHandle<ResolvedIndexBinding>::Cast(binding)->GetModule();
}
ASSERT(!targetModule.IsUndefined());
JSTaggedValue dictionary = SourceTextModule::Cast(targetModule.GetTaggedObject())->GetNameDictionary();
if (dictionary.IsUndefined()) {