From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.31; helo=mga06.intel.com; envelope-from=jaben.carsey@intel.com; receiver=edk2-devel@lists.01.org Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 3BC4221FB7D5E for ; Tue, 3 Apr 2018 14:03:12 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga002.jf.intel.com ([10.7.209.21]) by orsmga104.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 03 Apr 2018 14:03:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.48,402,1517904000"; d="scan'208";a="47710172" Received: from jcarsey-desk1.amr.corp.intel.com ([10.7.159.144]) by orsmga002.jf.intel.com with ESMTP; 03 Apr 2018 14:03:11 -0700 From: Jaben Carsey To: edk2-devel@lists.01.org Cc: Liming Gao , Yonghong Zhu Date: Tue, 3 Apr 2018 14:03:07 -0700 Message-Id: X-Mailer: git-send-email 2.16.2.windows.1 In-Reply-To: References: In-Reply-To: References: Subject: [PATCH v1 07/10] BaseTools: use built in OrderedDict instead of custom version. X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Apr 2018 21:03:12 -0000 We dont use any feature added by custom dictionary class. Cc: Liming Gao Cc: Yonghong Zhu Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Jaben Carsey --- BaseTools/Source/Python/Common/DscClassObject.py | 4 ++-- BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py | 10 ++++---- BaseTools/Source/Python/CommonDataClass/PackageClass.py | 4 ++-- BaseTools/Source/Python/Eot/EotGlobalData.py | 10 ++++---- BaseTools/Source/Python/Eot/Parser.py | 3 +-- BaseTools/Source/Python/Workspace/BuildClassObject.py | 4 ++-- BaseTools/Source/Python/Workspace/DecBuildData.py | 24 ++++++++++---------- BaseTools/Source/Python/build/build.py | 10 ++++---- 8 files changed, 35 insertions(+), 34 deletions(-) diff --git a/BaseTools/Source/Python/Common/DscClassObject.py b/BaseTools/Source/Python/Common/DscClassObject.py index da3101ae0fe9..cff9ab0eefb2 100644 --- a/BaseTools/Source/Python/Common/DscClassObject.py +++ b/BaseTools/Source/Python/Common/DscClassObject.py @@ -25,7 +25,7 @@ from Dictionary import * from CommonDataClass.PlatformClass import * from CommonDataClass.CommonClass import SkuInfoClass from BuildToolError import * -from Misc import sdict +from collections import OrderedDict import GlobalData from Table.TableDsc import TableDsc from Common.LongFilePathSupport import OpenLongFilePath as open @@ -732,7 +732,7 @@ class Dsc(object): # def GenComponents(self, ContainerFile): EdkLogger.debug(2, "Generate %s ..." % TAB_COMPONENTS) - Components = sdict() + Components = OrderedDict() # # Get all include files # diff --git a/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py b/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py index c0966d526519..c4f45b7c59c2 100644 --- a/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py +++ b/BaseTools/Source/Python/Common/EdkIIWorkspaceBuild.py @@ -22,7 +22,7 @@ from DecClassObject import * from DscClassObject import * from String import * from BuildToolError import * -from Misc import sdict +from collections import OrderedDict import Database as Database import time as time @@ -189,7 +189,7 @@ class ModuleBuildClassObject(object): self.Binaries = [] self.Sources = [] - self.LibraryClasses = sdict() + self.LibraryClasses = OrderedDict() self.Libraries = [] self.Protocols = [] self.Ppis = [] @@ -955,8 +955,8 @@ class WorkspaceBuild(object): # EdkII module LibraryConsumerList = [Module] Constructor = [] - ConsumedByList = sdict() - LibraryInstance = sdict() + ConsumedByList = OrderedDict() + LibraryInstance = OrderedDict() EdkLogger.verbose("") EdkLogger.verbose("Library instances of module [%s] [%s]:" % (str(Module), Arch)) @@ -1097,7 +1097,7 @@ class WorkspaceBuild(object): # The DAG Topo sort produces the destructor order, so the list of constructors must generated in the reverse order # SortedLibraryList.reverse() - Module.LibraryClasses = sdict() + Module.LibraryClasses = OrderedDict() for L in SortedLibraryList: for Lc in L.LibraryClass: Module.LibraryClasses[Lc.LibraryClass, ModuleType] = str(L) diff --git a/BaseTools/Source/Python/CommonDataClass/PackageClass.py b/BaseTools/Source/Python/CommonDataClass/PackageClass.py index 89d4d0797fe1..ba7d7eb67911 100644 --- a/BaseTools/Source/Python/CommonDataClass/PackageClass.py +++ b/BaseTools/Source/Python/CommonDataClass/PackageClass.py @@ -14,7 +14,7 @@ # Import Modules # from CommonClass import * -from Common.Misc import sdict +from collections import OrderedDict ## PackageHeaderClass # @@ -107,7 +107,7 @@ class PackageClass(object): self.IndustryStdHeaders = [] self.ModuleFiles = [] # {[Guid, Value, Path(relative to WORKSPACE)]: ModuleClassObj} - self.Modules = sdict() + self.Modules = OrderedDict() self.PackageIncludePkgHeaders = [] self.GuidDeclarations = [] self.ProtocolDeclarations = [] diff --git a/BaseTools/Source/Python/Eot/EotGlobalData.py b/BaseTools/Source/Python/Eot/EotGlobalData.py index dea4206e9d48..7689b76da9d6 100644 --- a/BaseTools/Source/Python/Eot/EotGlobalData.py +++ b/BaseTools/Source/Python/Eot/EotGlobalData.py @@ -11,7 +11,7 @@ # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. # -from Common.Misc import sdict +from collections import OrderedDict from Common.LongFilePathSupport import OpenLongFilePath as open gEFI_SOURCE = '' @@ -79,12 +79,12 @@ gPpiList = {} gProtocolList = {} # Dict for consumed PPI function calling -gConsumedPpiLibrary = sdict() +gConsumedPpiLibrary = OrderedDict() gConsumedPpiLibrary['EfiCommonLocateInterface'] = 0 gConsumedPpiLibrary['PeiServicesLocatePpi'] = 0 # Dict for produced PROTOCOL function calling -gProducedProtocolLibrary = sdict() +gProducedProtocolLibrary = OrderedDict() gProducedProtocolLibrary['RegisterEsalClass'] = 0 gProducedProtocolLibrary['CoreInstallProtocolInterface'] = 1 gProducedProtocolLibrary['CoreInstallMultipleProtocolInterfaces'] = -1 @@ -95,14 +95,14 @@ gProducedProtocolLibrary['LibInstallProtocolInterfaces'] = 1 gProducedProtocolLibrary['LibReinstallProtocolInterfaces'] = 1 # Dict for consumed PROTOCOL function calling -gConsumedProtocolLibrary = sdict() +gConsumedProtocolLibrary = OrderedDict() gConsumedProtocolLibrary['EfiHandleProtocol'] = 0 gConsumedProtocolLibrary['EfiLocateProtocolHandleBuffers'] = 0 gConsumedProtocolLibrary['EfiLocateProtocolInterface'] = 0 gConsumedProtocolLibrary['EfiHandleProtocol'] = 1 # Dict for callback PROTOCOL function callling -gCallbackProtocolLibrary = sdict() +gCallbackProtocolLibrary = OrderedDict() gCallbackProtocolLibrary['EfiRegisterProtocolCallback'] = 2 # Dict for ARCH PROTOCOL diff --git a/BaseTools/Source/Python/Eot/Parser.py b/BaseTools/Source/Python/Eot/Parser.py index ab19e30b69aa..14c287588a01 100644 --- a/BaseTools/Source/Python/Eot/Parser.py +++ b/BaseTools/Source/Python/Eot/Parser.py @@ -21,7 +21,6 @@ from Common.DataType import * from CommonDataClass.DataClass import * from Common.String import CleanString, GetSplitValueList, ReplaceMacro import EotGlobalData -from Common.Misc import sdict from Common.String import GetSplitList from Common.LongFilePathSupport import OpenLongFilePath as open @@ -623,7 +622,7 @@ def SearchProtocols(SqlCommand, Table, SourceFileID, SourceFileFullPath, ItemMod # @param ItemMode: Mode of item # def SearchFunctionCalling(Table, SourceFileID, SourceFileFullPath, ItemType, ItemMode): - LibraryList = sdict() + LibraryList = {} Db = EotGlobalData.gDb.TblReport Parameters, ItemName, GuidName, GuidMacro, GuidValue, BelongsToFunction = [], '', '', '', '', '' if ItemType == 'Protocol' and ItemMode == 'Produced': diff --git a/BaseTools/Source/Python/Workspace/BuildClassObject.py b/BaseTools/Source/Python/Workspace/BuildClassObject.py index 90c8246806d8..e95a8fd24b94 100644 --- a/BaseTools/Source/Python/Workspace/BuildClassObject.py +++ b/BaseTools/Source/Python/Workspace/BuildClassObject.py @@ -13,7 +13,7 @@ import Common.LongFilePathOs as os -from Common.Misc import sdict +from collections import OrderedDict from Common.Misc import RealPath2 from Common.BuildToolError import * from Common.DataType import * @@ -281,7 +281,7 @@ class ModuleBuildClassObject(object): self.Binaries = [] self.Sources = [] - self.LibraryClasses = sdict() + self.LibraryClasses = OrderedDict() self.Libraries = [] self.Protocols = [] self.Ppis = [] diff --git a/BaseTools/Source/Python/Workspace/DecBuildData.py b/BaseTools/Source/Python/Workspace/DecBuildData.py index 49ef1df4aa76..ccd6cc6a3754 100644 --- a/BaseTools/Source/Python/Workspace/DecBuildData.py +++ b/BaseTools/Source/Python/Workspace/DecBuildData.py @@ -199,9 +199,9 @@ class DecBuildData(PackageBuildClassObject): if Name not in NameList: NameList.append(Name) ProtocolDict[Arch, Name] = Guid - # use sdict to keep the order - self._Protocols = sdict() - self._PrivateProtocols = sdict() + # use OrderedDict to keep the order + self._Protocols = OrderedDict() + self._PrivateProtocols = OrderedDict() for Name in NameList: # # limit the ARCH to self._Arch, if no self._Arch found, tdict @@ -241,9 +241,9 @@ class DecBuildData(PackageBuildClassObject): if Name not in NameList: NameList.append(Name) PpiDict[Arch, Name] = Guid - # use sdict to keep the order - self._Ppis = sdict() - self._PrivatePpis = sdict() + # use OrderedDict to keep the order + self._Ppis = OrderedDict() + self._PrivatePpis = OrderedDict() for Name in NameList: # # limit the ARCH to self._Arch, if no self._Arch found, tdict @@ -283,9 +283,9 @@ class DecBuildData(PackageBuildClassObject): if Name not in NameList: NameList.append(Name) GuidDict[Arch, Name] = Guid - # use sdict to keep the order - self._Guids = sdict() - self._PrivateGuids = sdict() + # use OrderedDict to keep the order + self._Guids = OrderedDict() + self._PrivateGuids = OrderedDict() for Name in NameList: # # limit the ARCH to self._Arch, if no self._Arch found, tdict @@ -350,7 +350,7 @@ class DecBuildData(PackageBuildClassObject): EdkLogger.error('build', ErrorCode, ExtraData=ErrorInfo, File=self.MetaFile, Line=LineNo) LibraryClassSet.add(LibraryClass) LibraryClassDict[Arch, LibraryClass] = File - self._LibraryClasses = sdict() + self._LibraryClasses = OrderedDict() for LibraryClass in LibraryClassSet: self._LibraryClasses[LibraryClass] = LibraryClassDict[self._Arch, LibraryClass] return self._LibraryClasses @@ -358,7 +358,7 @@ class DecBuildData(PackageBuildClassObject): ## Retrieve PCD declarations def _GetPcds(self): if self._Pcds is None: - self._Pcds = sdict() + self._Pcds = OrderedDict() self._Pcds.update(self._GetPcd(MODEL_PCD_FIXED_AT_BUILD)) self._Pcds.update(self._GetPcd(MODEL_PCD_PATCHABLE_IN_MODULE)) self._Pcds.update(self._GetPcd(MODEL_PCD_FEATURE_FLAG)) @@ -399,7 +399,7 @@ class DecBuildData(PackageBuildClassObject): ## Retrieve PCD declarations for given type def _GetPcd(self, Type): - Pcds = sdict() + Pcds = OrderedDict() # # tdict is a special kind of dict, used for selecting correct # PCD declaration for given ARCH diff --git a/BaseTools/Source/Python/build/build.py b/BaseTools/Source/Python/build/build.py index f211f8c64116..4aca28098462 100644 --- a/BaseTools/Source/Python/build/build.py +++ b/BaseTools/Source/Python/build/build.py @@ -53,6 +53,8 @@ import Common.EdkLogger import Common.GlobalData as GlobalData from GenFds.GenFds import GenFds +from collections import OrderedDict + # Version and Copyright VersionNumber = "0.60" + ' ' + gBUILD_VERSION __version__ = "%prog Version " + VersionNumber @@ -438,19 +440,19 @@ class PlatformMakeUnit(BuildUnit): # class BuildTask: # queue for tasks waiting for schedule - _PendingQueue = sdict() + _PendingQueue = OrderedDict() _PendingQueueLock = threading.Lock() # queue for tasks ready for running - _ReadyQueue = sdict() + _ReadyQueue = OrderedDict() _ReadyQueueLock = threading.Lock() # queue for run tasks - _RunningQueue = sdict() + _RunningQueue = OrderedDict() _RunningQueueLock = threading.Lock() # queue containing all build tasks, in case duplicate build - _TaskQueue = sdict() + _TaskQueue = OrderedDict() # flag indicating error occurs in a running thread _ErrorFlag = threading.Event() -- 2.16.2.windows.1