BaseTools: Support nest field name in DSC/DEC
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Feng Bob C <bob.c.feng@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
@ -1207,6 +1207,7 @@ class DscBuildData(PlatformBuildClassObject):
|
|||||||
|
|
||||||
def get_length(value):
|
def get_length(value):
|
||||||
Value = value.strip()
|
Value = value.strip()
|
||||||
|
if len(value) > 1:
|
||||||
if Value.startswith('GUID') and Value.endswith(')'):
|
if Value.startswith('GUID') and Value.endswith(')'):
|
||||||
return 16
|
return 16
|
||||||
if Value.startswith('L"') and Value.endswith('"'):
|
if Value.startswith('L"') and Value.endswith('"'):
|
||||||
|
@ -1136,6 +1136,8 @@ class DscParser(MetaFileParser):
|
|||||||
self._ValueList[0], self._ValueList[1] = PcdNameTockens[0], PcdNameTockens[1]
|
self._ValueList[0], self._ValueList[1] = PcdNameTockens[0], PcdNameTockens[1]
|
||||||
elif len(PcdNameTockens) == 3:
|
elif len(PcdNameTockens) == 3:
|
||||||
self._ValueList[0], self._ValueList[1] = ".".join((PcdNameTockens[0], PcdNameTockens[1])), PcdNameTockens[2]
|
self._ValueList[0], self._ValueList[1] = ".".join((PcdNameTockens[0], PcdNameTockens[1])), PcdNameTockens[2]
|
||||||
|
elif len(PcdNameTockens) > 3:
|
||||||
|
self._ValueList[0], self._ValueList[1] = ".".join((PcdNameTockens[0], PcdNameTockens[1])), ".".join(PcdNameTockens[2:])
|
||||||
if len(TokenList) == 2:
|
if len(TokenList) == 2:
|
||||||
self._ValueList[2] = TokenList[1]
|
self._ValueList[2] = TokenList[1]
|
||||||
if self._ValueList[0] == '' or self._ValueList[1] == '':
|
if self._ValueList[0] == '' or self._ValueList[1] == '':
|
||||||
@ -1910,7 +1912,7 @@ class DecParser(MetaFileParser):
|
|||||||
if len(PcdNames) == 2:
|
if len(PcdNames) == 2:
|
||||||
self._CurrentStructurePcdName = ""
|
self._CurrentStructurePcdName = ""
|
||||||
else:
|
else:
|
||||||
self._ValueList[1] = PcdNames[2]
|
self._ValueList[1] = TAB_SPLIT.join(PcdNames[2:])
|
||||||
self._ValueList[2] = PcdTockens[1]
|
self._ValueList[2] = PcdTockens[1]
|
||||||
if not self._CurrentStructurePcdName:
|
if not self._CurrentStructurePcdName:
|
||||||
TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 1)
|
TokenList = GetSplitValueList(self._CurrentLine, TAB_VALUE_SPLIT, 1)
|
||||||
|
Reference in New Issue
Block a user