mirror of https://github.com/acidanthera/audk.git
BaseTools/ECC: Fix some issues of ECC tool
Add support for the usage which is defined in the above line for a Protocol/Ppi/Guid Add support for “!ERROR” Ignore issue of parsing a macro Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen <hesheng.chen@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16487 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
3720ee6d32
commit
8d62ae35ca
|
@ -442,6 +442,7 @@ TAB_ELSE = '!else'
|
||||||
TAB_IF_DEF = '!ifdef'
|
TAB_IF_DEF = '!ifdef'
|
||||||
TAB_IF_N_DEF = '!ifndef'
|
TAB_IF_N_DEF = '!ifndef'
|
||||||
TAB_IF_EXIST = '!if exist'
|
TAB_IF_EXIST = '!if exist'
|
||||||
|
TAB_ERROR = '!ERROR'
|
||||||
|
|
||||||
#
|
#
|
||||||
# Unknown section
|
# Unknown section
|
||||||
|
|
|
@ -86,6 +86,7 @@ MODEL_META_DATA_CONDITIONAL_STATEMENT_IF = 5004
|
||||||
MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE = 5005
|
MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE = 5005
|
||||||
MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF = 5006
|
MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF = 5006
|
||||||
MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF = 5007
|
MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF = 5007
|
||||||
|
MODEL_META_DATA_CONDITIONAL_STATEMENT_ERROR = 5400
|
||||||
MODEL_META_DATA_BUILD_OPTION = 5008
|
MODEL_META_DATA_BUILD_OPTION = 5008
|
||||||
MODEL_META_DATA_COMPONENT = 5009
|
MODEL_META_DATA_COMPONENT = 5009
|
||||||
MODEL_META_DATA_USER_EXTENSION = 5010
|
MODEL_META_DATA_USER_EXTENSION = 5010
|
||||||
|
@ -164,6 +165,7 @@ MODEL_LIST = [('MODEL_UNKNOWN', MODEL_UNKNOWN),
|
||||||
("MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE", MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE),
|
("MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE", MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE),
|
||||||
("MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF", MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF),
|
("MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF", MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF),
|
||||||
("MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF", MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF),
|
("MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF", MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF),
|
||||||
|
("MODEL_META_DATA_CONDITIONAL_STATEMENT_ERROR", MODEL_META_DATA_CONDITIONAL_STATEMENT_ERROR),
|
||||||
("MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH", MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH),
|
("MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH", MODEL_META_DATA_COMPONENT_SOURCE_OVERRIDE_PATH),
|
||||||
("MODEL_META_DATA_BUILD_OPTION", MODEL_META_DATA_BUILD_OPTION),
|
("MODEL_META_DATA_BUILD_OPTION", MODEL_META_DATA_BUILD_OPTION),
|
||||||
("MODEL_META_DATA_COMPONENT", MODEL_META_DATA_COMPONENT),
|
("MODEL_META_DATA_COMPONENT", MODEL_META_DATA_COMPONENT),
|
||||||
|
|
|
@ -63,7 +63,7 @@ class Check(object):
|
||||||
def GeneralCheckNonAcsii(self):
|
def GeneralCheckNonAcsii(self):
|
||||||
if EccGlobalData.gConfig.GeneralCheckNonAcsii == '1' or EccGlobalData.gConfig.GeneralCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1':
|
if EccGlobalData.gConfig.GeneralCheckNonAcsii == '1' or EccGlobalData.gConfig.GeneralCheckAll == '1' or EccGlobalData.gConfig.CheckAll == '1':
|
||||||
EdkLogger.quiet("Checking Non-ACSII char in file ...")
|
EdkLogger.quiet("Checking Non-ACSII char in file ...")
|
||||||
SqlCommand = """select ID, FullPath, ExtName from File"""
|
SqlCommand = """select ID, FullPath, ExtName from File where ExtName in ('.dec', '.inf', '.dsc', 'c', 'h')"""
|
||||||
RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand)
|
RecordSet = EccGlobalData.gDb.TblFile.Exec(SqlCommand)
|
||||||
for Record in RecordSet:
|
for Record in RecordSet:
|
||||||
if Record[2].upper() not in EccGlobalData.gConfig.BinaryExtList:
|
if Record[2].upper() not in EccGlobalData.gConfig.BinaryExtList:
|
||||||
|
|
|
@ -461,13 +461,14 @@ class InfParser(MetaFileParser):
|
||||||
MODEL_PCD_DYNAMIC_EX,
|
MODEL_PCD_DYNAMIC_EX,
|
||||||
MODEL_PCD_DYNAMIC]:
|
MODEL_PCD_DYNAMIC]:
|
||||||
Line = Content[Index].strip()
|
Line = Content[Index].strip()
|
||||||
if Line.startswith(TAB_COMMENT_SPLIT):
|
if Line.startswith(TAB_SPECIAL_COMMENT):
|
||||||
|
Usage += ' ' + Line[Line.find(TAB_SPECIAL_COMMENT):]
|
||||||
|
continue
|
||||||
|
elif Line.startswith(TAB_COMMENT_SPLIT):
|
||||||
continue
|
continue
|
||||||
elif Line.find(TAB_COMMENT_SPLIT) > 0:
|
elif Line.find(TAB_COMMENT_SPLIT) > 0:
|
||||||
Usage = Line[Line.find(TAB_COMMENT_SPLIT):]
|
Usage += ' ' + Line[Line.find(TAB_COMMENT_SPLIT):]
|
||||||
Line = Line[:Line.find(TAB_COMMENT_SPLIT)]
|
Line = Line[:Line.find(TAB_COMMENT_SPLIT)]
|
||||||
else:
|
|
||||||
Usage = ''
|
|
||||||
else:
|
else:
|
||||||
# skip empty, commented, block commented lines
|
# skip empty, commented, block commented lines
|
||||||
Line = CleanString(Content[Index], AllowCppStyleComment=True)
|
Line = CleanString(Content[Index], AllowCppStyleComment=True)
|
||||||
|
@ -545,6 +546,7 @@ class InfParser(MetaFileParser):
|
||||||
# LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, Enabled=-1
|
# LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1, Enabled=-1
|
||||||
#
|
#
|
||||||
self._ValueList[0] = self._ValueList[0].replace('/', '\\')
|
self._ValueList[0] = self._ValueList[0].replace('/', '\\')
|
||||||
|
Usage = Usage.strip()
|
||||||
for Arch, Platform in self._Scope:
|
for Arch, Platform in self._Scope:
|
||||||
self._Store(self._SectionType,
|
self._Store(self._SectionType,
|
||||||
self._ValueList[0],
|
self._ValueList[0],
|
||||||
|
@ -561,6 +563,7 @@ class InfParser(MetaFileParser):
|
||||||
0,
|
0,
|
||||||
Usage
|
Usage
|
||||||
)
|
)
|
||||||
|
Usage = ''
|
||||||
if IsFindBlockComment:
|
if IsFindBlockComment:
|
||||||
EdkLogger.error("Parser", FORMAT_INVALID, "Open block comments (starting with /*) are expected to end with */",
|
EdkLogger.error("Parser", FORMAT_INVALID, "Open block comments (starting with /*) are expected to end with */",
|
||||||
File=self.MetaFile)
|
File=self.MetaFile)
|
||||||
|
@ -731,6 +734,7 @@ class DscParser(MetaFileParser):
|
||||||
TAB_ELSE_IF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF,
|
TAB_ELSE_IF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF,
|
||||||
TAB_ELSE.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE,
|
TAB_ELSE.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE,
|
||||||
TAB_END_IF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF,
|
TAB_END_IF.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF,
|
||||||
|
TAB_ERROR.upper() : MODEL_META_DATA_CONDITIONAL_STATEMENT_ERROR,
|
||||||
}
|
}
|
||||||
|
|
||||||
# Valid names in define section
|
# Valid names in define section
|
||||||
|
@ -1117,6 +1121,7 @@ class DscParser(MetaFileParser):
|
||||||
MODEL_META_DATA_BUILD_OPTION : self.__ProcessBuildOption,
|
MODEL_META_DATA_BUILD_OPTION : self.__ProcessBuildOption,
|
||||||
MODEL_UNKNOWN : self._Skip,
|
MODEL_UNKNOWN : self._Skip,
|
||||||
MODEL_META_DATA_USER_EXTENSION : self._Skip,
|
MODEL_META_DATA_USER_EXTENSION : self._Skip,
|
||||||
|
MODEL_META_DATA_CONDITIONAL_STATEMENT_ERROR : self._Skip,
|
||||||
}
|
}
|
||||||
|
|
||||||
self._RawTable = self._Table
|
self._RawTable = self._Table
|
||||||
|
@ -1152,9 +1157,10 @@ class DscParser(MetaFileParser):
|
||||||
# Only catch expression evaluation error here. We need to report
|
# Only catch expression evaluation error here. We need to report
|
||||||
# the precise number of line on which the error occurred
|
# the precise number of line on which the error occurred
|
||||||
#
|
#
|
||||||
EdkLogger.error('Parser', FORMAT_INVALID, "Invalid expression: %s" % str(Excpt),
|
pass
|
||||||
File=self._FileWithError, ExtraData=' '.join(self._ValueList),
|
# EdkLogger.error('Parser', FORMAT_INVALID, "Invalid expression: %s" % str(Excpt),
|
||||||
Line=self._LineIndex+1)
|
# File=self._FileWithError, ExtraData=' '.join(self._ValueList),
|
||||||
|
# Line=self._LineIndex+1)
|
||||||
except MacroException, Excpt:
|
except MacroException, Excpt:
|
||||||
EdkLogger.error('Parser', FORMAT_INVALID, str(Excpt),
|
EdkLogger.error('Parser', FORMAT_INVALID, str(Excpt),
|
||||||
File=self._FileWithError, ExtraData=' '.join(self._ValueList),
|
File=self._FileWithError, ExtraData=' '.join(self._ValueList),
|
||||||
|
@ -1809,7 +1815,10 @@ class Fdf(FdfObject):
|
||||||
# Load Fdf file if filename is not None
|
# Load Fdf file if filename is not None
|
||||||
#
|
#
|
||||||
if Filename != None:
|
if Filename != None:
|
||||||
self.LoadFdfFile(Filename)
|
try:
|
||||||
|
self.LoadFdfFile(Filename)
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
#
|
#
|
||||||
# Insert a FDF file record into database
|
# Insert a FDF file record into database
|
||||||
|
|
Loading…
Reference in New Issue