diff options
author | Carsey, Jaben <jaben.carsey@intel.com> | 2018-04-28 06:32:28 +0800 |
---|---|---|
committer | Yonghong Zhu <yonghong.zhu@intel.com> | 2018-05-04 13:03:03 +0800 |
commit | 13d9e0511e1c247b324c2ec6d3b4806c8a4daaa2 (patch) | |
tree | ee69787eb796c17ccb0dddc0c130630918fa4b70 /BaseTools | |
parent | 3b743b3b158bfaed6bd539086861c1307678163a (diff) | |
download | edk2-13d9e0511e1c247b324c2ec6d3b4806c8a4daaa2.zip edk2-13d9e0511e1c247b324c2ec6d3b4806c8a4daaa2.tar.gz edk2-13d9e0511e1c247b324c2ec6d3b4806c8a4daaa2.tar.bz2 |
BaseTools: refactor to use list not dict
since we never access the values in the copied dict, just use a list instead.
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')
-rw-r--r-- | BaseTools/Source/Python/Common/ToolDefClassObject.py | 5 | ||||
-rw-r--r-- | BaseTools/Source/Python/GenFds/GenFds.py | 2 |
2 files changed, 4 insertions, 3 deletions
diff --git a/BaseTools/Source/Python/Common/ToolDefClassObject.py b/BaseTools/Source/Python/Common/ToolDefClassObject.py index 73ebdaf..8335958 100644 --- a/BaseTools/Source/Python/Common/ToolDefClassObject.py +++ b/BaseTools/Source/Python/Common/ToolDefClassObject.py @@ -92,7 +92,9 @@ class ToolDefClassObject(object): KeyList = [TAB_TOD_DEFINES_TARGET, TAB_TOD_DEFINES_TOOL_CHAIN_TAG, TAB_TOD_DEFINES_TARGET_ARCH, TAB_TOD_DEFINES_COMMAND_TYPE]
for Index in range(3, -1, -1):
- for Key in dict(self.ToolsDefTxtDictionary):
+ # make a copy of the keys to enumerate over to prevent issues when
+ # adding/removing items from the original dict.
+ for Key in list(self.ToolsDefTxtDictionary.keys()):
List = Key.split('_')
if List[Index] == '*':
for String in self.ToolsDefTxtDatabase[KeyList[Index]]:
@@ -100,7 +102,6 @@ class ToolDefClassObject(object): NewKey = '%s_%s_%s_%s_%s' % tuple(List)
if NewKey not in self.ToolsDefTxtDictionary:
self.ToolsDefTxtDictionary[NewKey] = self.ToolsDefTxtDictionary[Key]
- continue
del self.ToolsDefTxtDictionary[Key]
elif List[Index] not in self.ToolsDefTxtDatabase[KeyList[Index]]:
del self.ToolsDefTxtDictionary[Key]
diff --git a/BaseTools/Source/Python/GenFds/GenFds.py b/BaseTools/Source/Python/GenFds/GenFds.py index ccd1379..e17affc 100644 --- a/BaseTools/Source/Python/GenFds/GenFds.py +++ b/BaseTools/Source/Python/GenFds/GenFds.py @@ -428,7 +428,7 @@ def FindExtendTool(KeyStringList, CurrentArchList, NameGuid): if BuildOption:
ToolList = [TAB_TOD_DEFINES_TARGET, TAB_TOD_DEFINES_TOOL_CHAIN_TAG, TAB_TOD_DEFINES_TARGET_ARCH]
for Index in range(2, -1, -1):
- for Key in dict(BuildOption):
+ for Key in list(BuildOption.keys()):
List = Key.split('_')
if List[Index] == '*':
for String in ToolDb[ToolList[Index]]:
|