public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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



  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