BaseTools:ECC report errors on account of analyze special characters
BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=1751 In case that a C function body contains the string of L'', L'\"', L"\"", L''', L""", L"\"\"", L"\"^", L" \"", L"\" \"", ('L",\\\""') ECC tool running under python3 interpreter will report error. The antlr4 module misidentified this character This patch is going to fix that issue. Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Zhiju.Fan <zhijux.fan@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com>
This commit is contained in:
@ -495,6 +495,8 @@ def CollectSourceCodeDataIntoDB(RootDir):
|
||||
tuple = os.walk(RootDir)
|
||||
IgnoredPattern = GetIgnoredDirListPattern()
|
||||
ParseErrorFileList = []
|
||||
TokenReleaceList = EccGlobalData.gConfig.TokenReleaceList
|
||||
TokenReleaceList.extend(['L",\\\""'])
|
||||
|
||||
for dirpath, dirnames, filenames in tuple:
|
||||
if IgnoredPattern.match(dirpath.upper()):
|
||||
@ -519,6 +521,7 @@ def CollectSourceCodeDataIntoDB(RootDir):
|
||||
EdkLogger.info("Parsing " + FullName)
|
||||
model = f.endswith('c') and DataClass.MODEL_FILE_C or DataClass.MODEL_FILE_H
|
||||
collector = CodeFragmentCollector.CodeFragmentCollector(FullName)
|
||||
collector.TokenReleaceList = TokenReleaceList
|
||||
try:
|
||||
collector.ParseFile()
|
||||
except UnicodeError:
|
||||
|
Reference in New Issue
Block a user