BaseTools: Fix the build report issue about Structure PCD

https://bugzilla.tianocore.org/show_bug.cgi?id=1472
build report use incorrect method to parse DynamicDefault/DynamicExDefault
and DynamicVpd/DynamicExVpd structure Pcd value.

This patch is to fix this issue.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Bob Feng <bob.c.feng@intel.com>
Cc: Liming Gao <liming.gao@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Feng, Bob C 2019-02-01 16:51:43 +08:00
parent c196d1d129
commit 5f094268e0
1 changed files with 7 additions and 14 deletions

View File

@ -1118,20 +1118,13 @@ class PcdReport(object):
SkuList = sorted(Pcd.SkuInfoList.keys()) SkuList = sorted(Pcd.SkuInfoList.keys())
for Sku in SkuList: for Sku in SkuList:
SkuInfo = Pcd.SkuInfoList[Sku] SkuInfo = Pcd.SkuInfoList[Sku]
if TypeName in ('DYNHII', 'DEXHII'): if SkuInfo.DefaultStoreDict:
if SkuInfo.DefaultStoreDict: DefaultStoreList = sorted(SkuInfo.DefaultStoreDict.keys())
DefaultStoreList = sorted(SkuInfo.DefaultStoreDict.keys()) for DefaultStore in DefaultStoreList:
for DefaultStore in DefaultStoreList: OverrideValues = Pcd.SkuOverrideValues[Sku]
OverrideValues = Pcd.SkuOverrideValues[Sku] DscOverride = self.ParseStruct(OverrideValues[DefaultStore])
DscOverride = self.ParseStruct(OverrideValues[DefaultStore]) if DscOverride:
if DscOverride: break
break
else:
OverrideValues = Pcd.SkuOverrideValues[Sku]
if OverrideValues:
Keys = list(OverrideValues.keys())
OverrideFieldStruct = self.OverrideFieldValue(Pcd, OverrideValues[Keys[0]])
DscOverride = self.ParseStruct(OverrideFieldStruct)
if DscOverride: if DscOverride:
break break
if DscOverride: if DscOverride: