From: Carsey, Jaben Date: Tue, 3 Apr 2018 21:03:07 +0000 (+0800) Subject: BaseTools: use built in OrderedDict instead of custom version. X-Git-Tag: edk2-stable201903~1971 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=6e6d767edf855320e49892e5f8773e0b3394b975 BaseTools: use built in OrderedDict instead of custom version. 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 Reviewed-by: Yonghong Zhu --- diff --git a/BaseTools/Source/Python/Common/DscClassObject.py b/BaseTools/Source/Python/Common/DscClassObject.py index da3101ae0f..cff9ab0eef 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 c0966d5265..c4f45b7c59 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 89d4d0797f..ba7d7eb679 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 dea4206e9d..7689b76da9 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 ab19e30b69..14c287588a 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 90c8246806..e95a8fd24b 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 49ef1df4aa..ccd6cc6a37 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 f211f8c641..4aca280984 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()