diff --git a/ecmascript/ecma_vm.h b/ecmascript/ecma_vm.h index 3e128cf2cf4f50264b291cf0b64daa3d3965550e..1848c7b90f10bd0ac5893827b176a9cfd733f816 100644 --- a/ecmascript/ecma_vm.h +++ b/ecmascript/ecma_vm.h @@ -699,7 +699,7 @@ public: pkgNameList_.insert(list.begin(), list.end()); } - CMap GetPkgNameList() + const CMap &GetPkgNameList() { ReadLockHolder lock(pkgNameListLock_); return pkgNameList_; @@ -722,7 +722,7 @@ public: pkgContextInfoList_.insert(list.begin(), list.end()); } - inline CMap>> GetPkgContextInfoList() + inline const CMap>> &GetPkgContextInfoList() { ReadLockHolder lock(pkgContextInfoLock_); return pkgContextInfoList_; @@ -750,7 +750,7 @@ public: pkgAliasList_.insert(list.begin(), list.end()); } - CMap GetPkgAliasList() + const CMap &GetPkgAliasList() { ReadLockHolder lock(pkgAliasListLock_); return pkgAliasList_; diff --git a/ecmascript/module/module_path_helper.cpp b/ecmascript/module/module_path_helper.cpp index 77f8f0bb207620d7e523a2123b0b709950aa4829..0874edf385e76c7b6542dc39de0a3a1147849d91 100644 --- a/ecmascript/module/module_path_helper.cpp +++ b/ecmascript/module/module_path_helper.cpp @@ -842,15 +842,15 @@ CVector ModulePathHelper::GetPkgContextInfoListElements(EcmaVM *vm, con if (packageName.empty()) { return resultList; } - CMap>> pkgContextList = vm->GetPkgContextInfoList(); + const CMap>> &pkgContextList = vm->GetPkgContextInfoList(); if (pkgContextList.find(moduleName) == pkgContextList.end()) { return resultList; } - CMap> pkgList = pkgContextList[moduleName]; + const CMap> &pkgList = pkgContextList.find(moduleName)->second; if (pkgList.find(packageName) == pkgList.end()) { return resultList; } - resultList = pkgList[packageName]; + resultList = pkgList.find(packageName)->second; return resultList; } diff --git a/ecmascript/napi/test/jsnapi_third_tests.cpp b/ecmascript/napi/test/jsnapi_third_tests.cpp index b236732c6b235a3cfe07d3b3368b10e54d40cfc5..a6648539f4fa7f194402c9538c7f1a96b07106db 100644 --- a/ecmascript/napi/test/jsnapi_third_tests.cpp +++ b/ecmascript/napi/test/jsnapi_third_tests.cpp @@ -1460,11 +1460,16 @@ HWTEST_F_L0(JSNApiTests, UpdatePkgContextInfoList) newPkgList["hsp"] = {hspList}; JSNApi::UpdatePkgContextInfoList(vm_, newPkgList); - CMap>> vmPkgList = vm_->GetPkgContextInfoList(); + const CMap>> &vmPkgList = vm_->GetPkgContextInfoList(); EXPECT_EQ(vmPkgList.size(), 2); - EXPECT_EQ(vmPkgList["entry"]["entry"].size(), 12); - EXPECT_EQ(vmPkgList["hsp"].size(), 1); - EXPECT_EQ(vmPkgList["hsp"]["hsp"].size(), 12); + const CMap> &entryMap = vmPkgList.find("entry")->second; + const CVector &entryInfos = entryMap.find("entry")->second; + EXPECT_EQ(entryInfos.size(), 12); + + const CMap> &hspMap = vmPkgList.find("hsp")->second; + const CVector &hspInfos = hspMap.find("hsp")->second; + EXPECT_EQ(hspMap.size(), 1); + EXPECT_EQ(hspInfos.size(), 12); } HWTEST_F_L0(JSNApiTests, UpdatePkgNameList)