From f3b314331ce1557d51bbd6930ca9bec01ceefdd7 Mon Sep 17 00:00:00 2001 From: "Feng, Bob C" Date: Wed, 28 Feb 2018 13:59:21 +0800 Subject: BaseTools: Improve build performance of structure PCD value generation Optimized the PcdValueInit.c size by abstract the common logic in the funciton. 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 | 4 ++++ 1 file changed, 4 insertions(+) (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 05a83e84ac..edf2bdf4b9 100644 --- a/BaseTools/Source/Python/Workspace/BuildClassObject.py +++ b/BaseTools/Source/Python/Workspace/BuildClassObject.py @@ -65,6 +65,7 @@ class PcdClassObject(object): self.validlists = validlists self.expressions = expressions self.DscDefaultValue = None + self.DscRawValue = None if IsDsc: self.DscDefaultValue = Value @@ -127,6 +128,7 @@ class StructurePcd(PcdClassObject): self.PcdDefineLineNo = 0 self.PkgPath = "" self.DefaultValueFromDec = "" + self.ValueChain = dict() def __repr__(self): return self.TypeName @@ -172,6 +174,7 @@ class StructurePcd(PcdClassObject): self.validateranges = PcdObject.validateranges if PcdObject.validateranges else self.validateranges self.validlists = PcdObject.validlists if PcdObject.validlists else self.validlists self.expressions = PcdObject.expressions if PcdObject.expressions else self.expressions + self.DscRawValue = PcdObject.DscRawValue if PcdObject.DscRawValue else self.DscRawValue if type(PcdObject) is StructurePcd: self.StructuredPcdIncludeFile = PcdObject.StructuredPcdIncludeFile if PcdObject.StructuredPcdIncludeFile else self.StructuredPcdIncludeFile self.PackageDecs = PcdObject.PackageDecs if PcdObject.PackageDecs else self.PackageDecs @@ -184,6 +187,7 @@ class StructurePcd(PcdClassObject): self.StructName = PcdObject.DatumType if PcdObject.DatumType else self.StructName self.PcdDefineLineNo = PcdObject.PcdDefineLineNo if PcdObject.PcdDefineLineNo else self.PcdDefineLineNo self.PkgPath = PcdObject.PkgPath if PcdObject.PkgPath else self.PkgPath + self.ValueChain = PcdObject.ValueChain if PcdObject.ValueChain else self.ValueChain ## LibraryClassObject # -- cgit v1.2.3