summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/Workspace
diff options
context:
space:
mode:
authorCarsey, Jaben <jaben.carsey@intel.com>2018-04-20 23:51:27 +0800
committerYonghong Zhu <yonghong.zhu@intel.com>2018-04-26 14:42:20 +0800
commit9759febdb83fc38b83f668a553d06f7f0b5acace (patch)
tree56187d9468cd823a457911b6dcc83ddea959ae30 /BaseTools/Source/Python/Workspace
parentb813843cca535392f6b1e090c1ff11f5ce76fd81 (diff)
downloadedk2-9759febdb83fc38b83f668a553d06f7f0b5acace.tar.gz
edk2-9759febdb83fc38b83f668a553d06f7f0b5acace.tar.bz2
edk2-9759febdb83fc38b83f668a553d06f7f0b5acace.zip
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> Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
Diffstat (limited to 'BaseTools/Source/Python/Workspace')
-rw-r--r--BaseTools/Source/Python/Workspace/DscBuildData.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/BaseTools/Source/Python/Workspace/DscBuildData.py b/BaseTools/Source/Python/Workspace/DscBuildData.py
index e335b3df85..fdf20f9b09 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
PcdValueInitName = 'PcdValueInit'
@@ -1181,11 +1181,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
@@ -1292,7 +1291,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)