summaryrefslogtreecommitdiffstats
path: root/BaseTools/Source/Python/Common
diff options
context:
space:
mode:
authorCarsey, Jaben <jaben.carsey@intel.com>2018-04-28 06:32:28 +0800
committerYonghong Zhu <yonghong.zhu@intel.com>2018-05-04 13:03:03 +0800
commit13d9e0511e1c247b324c2ec6d3b4806c8a4daaa2 (patch)
treeee69787eb796c17ccb0dddc0c130630918fa4b70 /BaseTools/Source/Python/Common
parent3b743b3b158bfaed6bd539086861c1307678163a (diff)
downloadedk2-13d9e0511e1c247b324c2ec6d3b4806c8a4daaa2.tar.gz
edk2-13d9e0511e1c247b324c2ec6d3b4806c8a4daaa2.tar.bz2
edk2-13d9e0511e1c247b324c2ec6d3b4806c8a4daaa2.zip
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/Source/Python/Common')
-rw-r--r--BaseTools/Source/Python/Common/ToolDefClassObject.py5
1 files changed, 3 insertions, 2 deletions
diff --git a/BaseTools/Source/Python/Common/ToolDefClassObject.py b/BaseTools/Source/Python/Common/ToolDefClassObject.py
index 73ebdaf6b1..83359586b9 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]