Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
Best Regards,
Zhu Yonghong
-----Original Message-----
From: Carsey, Jaben
Sent: Friday, April 20, 2018 11:51 PM
To: edk2-devel@lists.01.org
Cc: Gao, Liming <liming.gao@intel.com>; Zhu, Yonghong <yonghong.zhu@intel.com>
Subject: [PATCH v1 07/27] BaseTools: Workspace - refactor GetStructurePcdInfo
the function doesn't use self and can be static defaultdict replaces dict and removes the dict initialization code
Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
---
BaseTools/Source/Python/Workspace/DscBuildData.py | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
index be3f7b6881e8..904c52d9576a 100644
--- a/BaseTools/Source/Python/Workspace/DscBuildData.py
+++ b/BaseTools/Source/Python/Workspace/DscBuildData.py
@@ -39,7 +39,7 @@ import Common.GlobalData as GlobalData import subprocess from Common.Misc import SaveFileOnChange from Workspace.BuildClassObject import PlatformBuildClassObject, StructurePcd, PcdClassObject, ModuleBuildClassObject -from collections import OrderedDict
+from collections import OrderedDict,defaultdict
variablePattern = re.compile(r'[\t\s]*0[xX][a-fA-F0-9]+$')
@@ -1187,11 +1187,10 @@ class DscBuildData(PlatformBuildClassObject):
options[Key] += ' ' + Option
return self._ModuleTypeOptions[Edk, ModuleType]
- def GetStructurePcdInfo(self, PcdSet):
- structure_pcd_data = {}
+ @staticmethod
+ def GetStructurePcdInfo(PcdSet):
+ structure_pcd_data = defaultdict(list)
for item in PcdSet:
- if (item[0],item[1]) not in structure_pcd_data:
- structure_pcd_data[(item[0],item[1])] = []
structure_pcd_data[(item[0],item[1])].append(item)
return structure_pcd_data
@@ -1298,7 +1297,7 @@ class DscBuildData(PlatformBuildClassObject):
S_PcdSet.append([ TokenSpaceGuid.split(".")[0],TokenSpaceGuid.split(".")[1], PcdCName,SkuName, default_store,Dummy5, AnalyzePcdExpression(Setting)[0]])
# handle pcd value override
- StrPcdSet = self.GetStructurePcdInfo(S_PcdSet)
+ StrPcdSet = DscBuildData.GetStructurePcdInfo(S_PcdSet)
S_pcd_set = OrderedDict()
for str_pcd in StrPcdSet:
str_pcd_obj = Pcds.get((str_pcd[1], str_pcd[0]), None)
--
2.16.2.windows.1
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel