From 57ee97c01ca0e81d146600a00885719b84bf1581 Mon Sep 17 00:00:00 2001 From: BobCF Date: Tue, 25 Sep 2018 13:20:46 +0800 Subject: BaseTool: Replace dict with OrderedDict. Replace dict with OrderedDict for PCD so that the pcd list has same order. Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Bob Feng Cc: Liming Gao Reviewed-by: Liming Gao --- BaseTools/Source/Python/Workspace/BuildClassObject.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) (limited to 'BaseTools/Source/Python/Workspace/BuildClassObject.py') diff --git a/BaseTools/Source/Python/Workspace/BuildClassObject.py b/BaseTools/Source/Python/Workspace/BuildClassObject.py index e93ff1dd32..57ba73c498 100644 --- a/BaseTools/Source/Python/Workspace/BuildClassObject.py +++ b/BaseTools/Source/Python/Workspace/BuildClassObject.py @@ -13,7 +13,11 @@ from collections import OrderedDict, namedtuple from Common.DataType import * - +import collections +import re +from collections import OrderedDict +StructPattern = re.compile(r'[_a-zA-Z][0-9A-Za-z_\[\]]*$') +ArrayIndex = re.compile("\[\s*\d{0,1}\s*\]") ## PcdClassObject # # This Class is used for PcdObject @@ -41,7 +45,7 @@ from Common.DataType import * # @var Phase: To store value for Phase, default is "DXE" # class PcdClassObject(object): - def __init__(self, Name = None, Guid = None, Type = None, DatumType = None, Value = None, Token = None, MaxDatumSize = None, SkuInfoList = {}, IsOverrided = False, GuidValue = None, validateranges = [], validlists = [], expressions = [], IsDsc = False, UserDefinedDefaultStoresFlag = False): + def __init__(self, Name = None, Guid = None, Type = None, DatumType = None, Value = None, Token = None, MaxDatumSize = None, SkuInfoList = None, IsOverrided = False, GuidValue = None, validateranges = None, validlists = None, expressions = None, IsDsc = False, UserDefinedDefaultStoresFlag = False): self.TokenCName = Name self.TokenSpaceGuidCName = Guid self.TokenSpaceGuidValue = GuidValue @@ -51,15 +55,15 @@ class PcdClassObject(object): self.TokenValue = Token self.MaxDatumSize = MaxDatumSize self.MaxSizeUserSet = None - self.SkuInfoList = SkuInfoList + self.SkuInfoList = SkuInfoList if SkuInfoList is not None else OrderedDict() self.Phase = "DXE" self.Pending = False self.IsOverrided = IsOverrided self.IsFromBinaryInf = False self.IsFromDsc = False - self.validateranges = validateranges - self.validlists = validlists - self.expressions = expressions + self.validateranges = validateranges if validateranges is not None else [] + self.validlists = validlists if validlists is not None else [] + self.expressions = expressions if expressions is not None else [] self.DscDefaultValue = None self.DscRawValue = {} if IsDsc: -- cgit v1.2.3