Sync BaseTools Branch (version r2149) to EDKII main trunk.
BaseTool Branch: https://edk2-buildtools.svn.sourceforge.net/svnroot/edk2-buildtools/branches/Releases/BaseTools_r2100 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11640 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@ -564,7 +564,17 @@ class FdfParser:
|
||||
|
||||
self.Rewind()
|
||||
|
||||
|
||||
def __GetIfListCurrentItemStat(self, IfList):
|
||||
if len(IfList) == 0:
|
||||
return True
|
||||
|
||||
for Item in IfList:
|
||||
if Item[1] == False:
|
||||
return False
|
||||
|
||||
return True
|
||||
|
||||
|
||||
## PreprocessConditionalStatement() method
|
||||
#
|
||||
# Preprocess conditional statement.
|
||||
@ -577,27 +587,28 @@ class FdfParser:
|
||||
IfList = []
|
||||
while self.__GetNextToken():
|
||||
if self.__Token == 'DEFINE':
|
||||
DefineLine = self.CurrentLineNumber - 1
|
||||
DefineOffset = self.CurrentOffsetWithinLine - len('DEFINE')
|
||||
if not self.__GetNextToken():
|
||||
raise Warning("expected Macro name", self.FileName, self.CurrentLineNumber)
|
||||
Macro = self.__Token
|
||||
if not self.__IsToken( "="):
|
||||
raise Warning("expected '='", self.FileName, self.CurrentLineNumber)
|
||||
|
||||
if not self.__GetNextToken():
|
||||
raise Warning("expected value", self.FileName, self.CurrentLineNumber)
|
||||
|
||||
if self.__GetStringData():
|
||||
pass
|
||||
Value = self.__Token
|
||||
if not Macro in InputMacroDict:
|
||||
FileLineTuple = GetRealFileLine(self.FileName, DefineLine + 1)
|
||||
MacProfile = MacroProfile(FileLineTuple[0], FileLineTuple[1])
|
||||
MacProfile.MacroName = Macro
|
||||
MacProfile.MacroValue = Value
|
||||
AllMacroList.append(MacProfile)
|
||||
self.__WipeOffArea.append(((DefineLine, DefineOffset), (self.CurrentLineNumber - 1, self.CurrentOffsetWithinLine - 1)))
|
||||
if self.__GetIfListCurrentItemStat(IfList):
|
||||
DefineLine = self.CurrentLineNumber - 1
|
||||
DefineOffset = self.CurrentOffsetWithinLine - len('DEFINE')
|
||||
if not self.__GetNextToken():
|
||||
raise Warning("expected Macro name", self.FileName, self.CurrentLineNumber)
|
||||
Macro = self.__Token
|
||||
if not self.__IsToken( "="):
|
||||
raise Warning("expected '='", self.FileName, self.CurrentLineNumber)
|
||||
|
||||
if not self.__GetNextToken():
|
||||
raise Warning("expected value", self.FileName, self.CurrentLineNumber)
|
||||
|
||||
if self.__GetStringData():
|
||||
pass
|
||||
Value = self.__Token
|
||||
if not Macro in InputMacroDict:
|
||||
FileLineTuple = GetRealFileLine(self.FileName, DefineLine + 1)
|
||||
MacProfile = MacroProfile(FileLineTuple[0], FileLineTuple[1])
|
||||
MacProfile.MacroName = Macro
|
||||
MacProfile.MacroValue = Value
|
||||
AllMacroList.append(MacProfile)
|
||||
self.__WipeOffArea.append(((DefineLine, DefineOffset), (self.CurrentLineNumber - 1, self.CurrentOffsetWithinLine - 1)))
|
||||
|
||||
elif self.__Token in ('!ifdef', '!ifndef', '!if'):
|
||||
IfStartPos = (self.CurrentLineNumber - 1, self.CurrentOffsetWithinLine - len(self.__Token))
|
||||
|
Reference in New Issue
Block a user