From: Jaben Carsey <jaben.carsey@intel.com>
To: edk2-devel@lists.01.org
Cc: Liming Gao <liming.gao@intel.com>, Yonghong Zhu <yonghong.zhu@intel.com>
Subject: [PATCH v1 07/10] BaseTools: use built in OrderedDict instead of custom version.
Date: Tue, 3 Apr 2018 14:03:07 -0700 [thread overview]
Message-ID: <c68407906876ed7964011f196193ea668f7b7087.1522789210.git.jaben.carsey@intel.com> (raw)
In-Reply-To: <cover.1522789210.git.jaben.carsey@intel.com>
In-Reply-To: <cover.1522789210.git.jaben.carsey@intel.com>
We dont use any feature added by custom dictionary class.
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>
---
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
next prev parent reply other threads:[~2018-04-03 21:03 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-04-03 21:03 [PATCH v1 00/10] BaseTools: refactor code Jaben Carsey
2018-04-03 21:03 ` [PATCH v1 01/10] BaseTools: Use local variable for list of constants Jaben Carsey
2018-04-03 21:03 ` [PATCH v1 02/10] BaseTools: use built in dict instead of custom version Jaben Carsey
2018-04-03 21:03 ` [PATCH v1 03/10] BaseTools: Eot tool never populates this dictionary Jaben Carsey
2018-04-03 21:03 ` [PATCH v1 04/10] BaseTools: remove unused import statement Jaben Carsey
2018-04-03 21:03 ` [PATCH v1 05/10] BaseTools - AutoGen - replace custom dictionary class with python standard one Jaben Carsey
2018-04-03 21:03 ` [PATCH v1 06/10] BaseTools: Eot remove unused code Jaben Carsey
2018-04-03 21:03 ` Jaben Carsey [this message]
2018-04-03 21:03 ` [PATCH v1 08/10] BaseTools: use combined version of OrderedDict Jaben Carsey
2018-04-03 21:03 ` [PATCH v1 09/10] BaseTools: Workspace - use built in OrderedDict instead of custom version Jaben Carsey
2018-04-03 21:03 ` [PATCH v1 10/10] BaseTools: Remove unused code from Misc Jaben Carsey
2018-04-08 6:40 ` [PATCH v1 00/10] BaseTools: refactor code Zhu, Yonghong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c68407906876ed7964011f196193ea668f7b7087.1522789210.git.jaben.carsey@intel.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox