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>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
from CommonDataClass.PlatformClass import *\r
from CommonDataClass.CommonClass import SkuInfoClass\r
from BuildToolError import *\r
from CommonDataClass.PlatformClass import *\r
from CommonDataClass.CommonClass import SkuInfoClass\r
from BuildToolError import *\r
-from Misc import sdict\r
+from collections import OrderedDict\r
import GlobalData\r
from Table.TableDsc import TableDsc\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
import GlobalData\r
from Table.TableDsc import TableDsc\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
#\r
def GenComponents(self, ContainerFile):\r
EdkLogger.debug(2, "Generate %s ..." % TAB_COMPONENTS)\r
#\r
def GenComponents(self, ContainerFile):\r
EdkLogger.debug(2, "Generate %s ..." % TAB_COMPONENTS)\r
+ Components = OrderedDict()\r
#\r
# Get all include files\r
#\r
#\r
# Get all include files\r
#\r
from DscClassObject import *\r
from String import *\r
from BuildToolError import *\r
from DscClassObject import *\r
from String import *\r
from BuildToolError import *\r
-from Misc import sdict\r
+from collections import OrderedDict\r
import Database as Database\r
import time as time\r
\r
import Database as Database\r
import time as time\r
\r
\r
self.Binaries = []\r
self.Sources = []\r
\r
self.Binaries = []\r
self.Sources = []\r
- self.LibraryClasses = sdict()\r
+ self.LibraryClasses = OrderedDict()\r
self.Libraries = []\r
self.Protocols = []\r
self.Ppis = []\r
self.Libraries = []\r
self.Protocols = []\r
self.Ppis = []\r
# EdkII module\r
LibraryConsumerList = [Module]\r
Constructor = []\r
# EdkII module\r
LibraryConsumerList = [Module]\r
Constructor = []\r
- ConsumedByList = sdict()\r
- LibraryInstance = sdict()\r
+ ConsumedByList = OrderedDict()\r
+ LibraryInstance = OrderedDict()\r
\r
EdkLogger.verbose("")\r
EdkLogger.verbose("Library instances of module [%s] [%s]:" % (str(Module), Arch))\r
\r
EdkLogger.verbose("")\r
EdkLogger.verbose("Library instances of module [%s] [%s]:" % (str(Module), Arch))\r
# The DAG Topo sort produces the destructor order, so the list of constructors must generated in the reverse order\r
#\r
SortedLibraryList.reverse()\r
# The DAG Topo sort produces the destructor order, so the list of constructors must generated in the reverse order\r
#\r
SortedLibraryList.reverse()\r
- Module.LibraryClasses = sdict()\r
+ Module.LibraryClasses = OrderedDict()\r
for L in SortedLibraryList:\r
for Lc in L.LibraryClass:\r
Module.LibraryClasses[Lc.LibraryClass, ModuleType] = str(L)\r
for L in SortedLibraryList:\r
for Lc in L.LibraryClass:\r
Module.LibraryClasses[Lc.LibraryClass, ModuleType] = str(L)\r
# Import Modules\r
#\r
from CommonClass import *\r
# Import Modules\r
#\r
from CommonClass import *\r
-from Common.Misc import sdict\r
+from collections import OrderedDict\r
\r
## PackageHeaderClass\r
#\r
\r
## PackageHeaderClass\r
#\r
self.IndustryStdHeaders = []\r
self.ModuleFiles = []\r
# {[Guid, Value, Path(relative to WORKSPACE)]: ModuleClassObj}\r
self.IndustryStdHeaders = []\r
self.ModuleFiles = []\r
# {[Guid, Value, Path(relative to WORKSPACE)]: ModuleClassObj}\r
- self.Modules = sdict()\r
+ self.Modules = OrderedDict()\r
self.PackageIncludePkgHeaders = []\r
self.GuidDeclarations = []\r
self.ProtocolDeclarations = []\r
self.PackageIncludePkgHeaders = []\r
self.GuidDeclarations = []\r
self.ProtocolDeclarations = []\r
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
\r
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
#\r
\r
-from Common.Misc import sdict\r
+from collections import OrderedDict\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
\r
gEFI_SOURCE = ''\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
\r
gEFI_SOURCE = ''\r
gProtocolList = {}\r
\r
# Dict for consumed PPI function calling\r
gProtocolList = {}\r
\r
# Dict for consumed PPI function calling\r
-gConsumedPpiLibrary = sdict()\r
+gConsumedPpiLibrary = OrderedDict()\r
gConsumedPpiLibrary['EfiCommonLocateInterface'] = 0\r
gConsumedPpiLibrary['PeiServicesLocatePpi'] = 0\r
\r
# Dict for produced PROTOCOL function calling\r
gConsumedPpiLibrary['EfiCommonLocateInterface'] = 0\r
gConsumedPpiLibrary['PeiServicesLocatePpi'] = 0\r
\r
# Dict for produced PROTOCOL function calling\r
-gProducedProtocolLibrary = sdict()\r
+gProducedProtocolLibrary = OrderedDict()\r
gProducedProtocolLibrary['RegisterEsalClass'] = 0\r
gProducedProtocolLibrary['CoreInstallProtocolInterface'] = 1\r
gProducedProtocolLibrary['CoreInstallMultipleProtocolInterfaces'] = -1\r
gProducedProtocolLibrary['RegisterEsalClass'] = 0\r
gProducedProtocolLibrary['CoreInstallProtocolInterface'] = 1\r
gProducedProtocolLibrary['CoreInstallMultipleProtocolInterfaces'] = -1\r
gProducedProtocolLibrary['LibReinstallProtocolInterfaces'] = 1\r
\r
# Dict for consumed PROTOCOL function calling\r
gProducedProtocolLibrary['LibReinstallProtocolInterfaces'] = 1\r
\r
# Dict for consumed PROTOCOL function calling\r
-gConsumedProtocolLibrary = sdict()\r
+gConsumedProtocolLibrary = OrderedDict()\r
gConsumedProtocolLibrary['EfiHandleProtocol'] = 0\r
gConsumedProtocolLibrary['EfiLocateProtocolHandleBuffers'] = 0\r
gConsumedProtocolLibrary['EfiLocateProtocolInterface'] = 0\r
gConsumedProtocolLibrary['EfiHandleProtocol'] = 1\r
\r
# Dict for callback PROTOCOL function callling\r
gConsumedProtocolLibrary['EfiHandleProtocol'] = 0\r
gConsumedProtocolLibrary['EfiLocateProtocolHandleBuffers'] = 0\r
gConsumedProtocolLibrary['EfiLocateProtocolInterface'] = 0\r
gConsumedProtocolLibrary['EfiHandleProtocol'] = 1\r
\r
# Dict for callback PROTOCOL function callling\r
-gCallbackProtocolLibrary = sdict()\r
+gCallbackProtocolLibrary = OrderedDict()\r
gCallbackProtocolLibrary['EfiRegisterProtocolCallback'] = 2\r
\r
# Dict for ARCH PROTOCOL\r
gCallbackProtocolLibrary['EfiRegisterProtocolCallback'] = 2\r
\r
# Dict for ARCH PROTOCOL\r
from CommonDataClass.DataClass import *\r
from Common.String import CleanString, GetSplitValueList, ReplaceMacro\r
import EotGlobalData\r
from CommonDataClass.DataClass import *\r
from Common.String import CleanString, GetSplitValueList, ReplaceMacro\r
import EotGlobalData\r
-from Common.Misc import sdict\r
from Common.String import GetSplitList\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
\r
from Common.String import GetSplitList\r
from Common.LongFilePathSupport import OpenLongFilePath as open\r
\r
# @param ItemMode: Mode of item\r
#\r
def SearchFunctionCalling(Table, SourceFileID, SourceFileFullPath, ItemType, ItemMode):\r
# @param ItemMode: Mode of item\r
#\r
def SearchFunctionCalling(Table, SourceFileID, SourceFileFullPath, ItemType, ItemMode):\r
- LibraryList = sdict()\r
Db = EotGlobalData.gDb.TblReport\r
Parameters, ItemName, GuidName, GuidMacro, GuidValue, BelongsToFunction = [], '', '', '', '', ''\r
if ItemType == 'Protocol' and ItemMode == 'Produced':\r
Db = EotGlobalData.gDb.TblReport\r
Parameters, ItemName, GuidName, GuidMacro, GuidValue, BelongsToFunction = [], '', '', '', '', ''\r
if ItemType == 'Protocol' and ItemMode == 'Produced':\r
\r
import Common.LongFilePathOs as os\r
\r
\r
import Common.LongFilePathOs as os\r
\r
-from Common.Misc import sdict\r
+from collections import OrderedDict\r
from Common.Misc import RealPath2\r
from Common.BuildToolError import *\r
from Common.DataType import *\r
from Common.Misc import RealPath2\r
from Common.BuildToolError import *\r
from Common.DataType import *\r
\r
self.Binaries = []\r
self.Sources = []\r
\r
self.Binaries = []\r
self.Sources = []\r
- self.LibraryClasses = sdict()\r
+ self.LibraryClasses = OrderedDict()\r
self.Libraries = []\r
self.Protocols = []\r
self.Ppis = []\r
self.Libraries = []\r
self.Protocols = []\r
self.Ppis = []\r
if Name not in NameList:\r
NameList.append(Name)\r
ProtocolDict[Arch, Name] = Guid\r
if Name not in NameList:\r
NameList.append(Name)\r
ProtocolDict[Arch, Name] = Guid\r
- # use sdict to keep the order\r
- self._Protocols = sdict()\r
- self._PrivateProtocols = sdict()\r
+ # use OrderedDict to keep the order\r
+ self._Protocols = OrderedDict()\r
+ self._PrivateProtocols = OrderedDict()\r
for Name in NameList:\r
#\r
# limit the ARCH to self._Arch, if no self._Arch found, tdict\r
for Name in NameList:\r
#\r
# limit the ARCH to self._Arch, if no self._Arch found, tdict\r
if Name not in NameList:\r
NameList.append(Name)\r
PpiDict[Arch, Name] = Guid\r
if Name not in NameList:\r
NameList.append(Name)\r
PpiDict[Arch, Name] = Guid\r
- # use sdict to keep the order\r
- self._Ppis = sdict()\r
- self._PrivatePpis = sdict()\r
+ # use OrderedDict to keep the order\r
+ self._Ppis = OrderedDict()\r
+ self._PrivatePpis = OrderedDict()\r
for Name in NameList:\r
#\r
# limit the ARCH to self._Arch, if no self._Arch found, tdict\r
for Name in NameList:\r
#\r
# limit the ARCH to self._Arch, if no self._Arch found, tdict\r
if Name not in NameList:\r
NameList.append(Name)\r
GuidDict[Arch, Name] = Guid\r
if Name not in NameList:\r
NameList.append(Name)\r
GuidDict[Arch, Name] = Guid\r
- # use sdict to keep the order\r
- self._Guids = sdict()\r
- self._PrivateGuids = sdict()\r
+ # use OrderedDict to keep the order\r
+ self._Guids = OrderedDict()\r
+ self._PrivateGuids = OrderedDict()\r
for Name in NameList:\r
#\r
# limit the ARCH to self._Arch, if no self._Arch found, tdict\r
for Name in NameList:\r
#\r
# limit the ARCH to self._Arch, if no self._Arch found, tdict\r
EdkLogger.error('build', ErrorCode, ExtraData=ErrorInfo, File=self.MetaFile, Line=LineNo)\r
LibraryClassSet.add(LibraryClass)\r
LibraryClassDict[Arch, LibraryClass] = File\r
EdkLogger.error('build', ErrorCode, ExtraData=ErrorInfo, File=self.MetaFile, Line=LineNo)\r
LibraryClassSet.add(LibraryClass)\r
LibraryClassDict[Arch, LibraryClass] = File\r
- self._LibraryClasses = sdict()\r
+ self._LibraryClasses = OrderedDict()\r
for LibraryClass in LibraryClassSet:\r
self._LibraryClasses[LibraryClass] = LibraryClassDict[self._Arch, LibraryClass]\r
return self._LibraryClasses\r
for LibraryClass in LibraryClassSet:\r
self._LibraryClasses[LibraryClass] = LibraryClassDict[self._Arch, LibraryClass]\r
return self._LibraryClasses\r
## Retrieve PCD declarations\r
def _GetPcds(self):\r
if self._Pcds is None:\r
## Retrieve PCD declarations\r
def _GetPcds(self):\r
if self._Pcds is None:\r
+ self._Pcds = OrderedDict()\r
self._Pcds.update(self._GetPcd(MODEL_PCD_FIXED_AT_BUILD))\r
self._Pcds.update(self._GetPcd(MODEL_PCD_PATCHABLE_IN_MODULE))\r
self._Pcds.update(self._GetPcd(MODEL_PCD_FEATURE_FLAG))\r
self._Pcds.update(self._GetPcd(MODEL_PCD_FIXED_AT_BUILD))\r
self._Pcds.update(self._GetPcd(MODEL_PCD_PATCHABLE_IN_MODULE))\r
self._Pcds.update(self._GetPcd(MODEL_PCD_FEATURE_FLAG))\r
\r
## Retrieve PCD declarations for given type\r
def _GetPcd(self, Type):\r
\r
## Retrieve PCD declarations for given type\r
def _GetPcd(self, Type):\r
#\r
# tdict is a special kind of dict, used for selecting correct\r
# PCD declaration for given ARCH\r
#\r
# tdict is a special kind of dict, used for selecting correct\r
# PCD declaration for given ARCH\r
import Common.GlobalData as GlobalData\r
from GenFds.GenFds import GenFds\r
\r
import Common.GlobalData as GlobalData\r
from GenFds.GenFds import GenFds\r
\r
+from collections import OrderedDict\r
+\r
# Version and Copyright\r
VersionNumber = "0.60" + ' ' + gBUILD_VERSION\r
__version__ = "%prog Version " + VersionNumber\r
# Version and Copyright\r
VersionNumber = "0.60" + ' ' + gBUILD_VERSION\r
__version__ = "%prog Version " + VersionNumber\r
#\r
class BuildTask:\r
# queue for tasks waiting for schedule\r
#\r
class BuildTask:\r
# queue for tasks waiting for schedule\r
- _PendingQueue = sdict()\r
+ _PendingQueue = OrderedDict()\r
_PendingQueueLock = threading.Lock()\r
\r
# queue for tasks ready for running\r
_PendingQueueLock = threading.Lock()\r
\r
# queue for tasks ready for running\r
- _ReadyQueue = sdict()\r
+ _ReadyQueue = OrderedDict()\r
_ReadyQueueLock = threading.Lock()\r
\r
# queue for run tasks\r
_ReadyQueueLock = threading.Lock()\r
\r
# queue for run tasks\r
- _RunningQueue = sdict()\r
+ _RunningQueue = OrderedDict()\r
_RunningQueueLock = threading.Lock()\r
\r
# queue containing all build tasks, in case duplicate build\r
_RunningQueueLock = threading.Lock()\r
\r
# queue containing all build tasks, in case duplicate build\r
+ _TaskQueue = OrderedDict()\r
\r
# flag indicating error occurs in a running thread\r
_ErrorFlag = threading.Event()\r
\r
# flag indicating error occurs in a running thread\r
_ErrorFlag = threading.Event()\r