From b3d07ff8d21ecab5a8060815e9abe73c904e3ed9 Mon Sep 17 00:00:00 2001 From: Hess Chen Date: Mon, 25 Aug 2014 01:16:34 +0000 Subject: This patch is going to: 1. Add a checkpoint to check if an UNI file is a valid UTF-16 file 2. Add a checkpoint to check if a GUID/PPI/PROTOCOL/PCD is in a valid format. 3. Some other minor changes. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hess Chen Reviewed-by: Yingke Liu git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15886 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Python/Ecc/MetaFileWorkspace/MetaFileParser.py | 24 ++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) (limited to 'BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py') diff --git a/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py b/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py index 949d067945..1c3e968785 100644 --- a/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py +++ b/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py @@ -433,6 +433,7 @@ class InfParser(MetaFileParser): def Start(self): NmakeLine = '' Content = '' + Usage = '' try: Content = open(str(self.MetaFile), 'r').readlines() except: @@ -451,8 +452,26 @@ class InfParser(MetaFileParser): IsFindBlockComment = False for Index in range(0, len(Content)): + if self._SectionType in [MODEL_EFI_GUID, + MODEL_EFI_PROTOCOL, + MODEL_EFI_PPI, + MODEL_PCD_FIXED_AT_BUILD, + MODEL_PCD_PATCHABLE_IN_MODULE, + MODEL_PCD_FEATURE_FLAG, + MODEL_PCD_DYNAMIC_EX, + MODEL_PCD_DYNAMIC]: + Line = Content[Index].strip() + if Line.startswith(TAB_COMMENT_SPLIT): + continue + elif Line.find(TAB_COMMENT_SPLIT) > 0: + Usage = Line[Line.find(TAB_COMMENT_SPLIT):] + Line = Line[:Line.find(TAB_COMMENT_SPLIT)] + else: + Usage = '' + else: # skip empty, commented, block commented lines - Line = CleanString(Content[Index], AllowCppStyleComment=True) + Line = CleanString(Content[Index], AllowCppStyleComment=True) + Usage = '' NextLine = '' if Index + 1 < len(Content): NextLine = CleanString(Content[Index + 1]) @@ -539,7 +558,8 @@ class InfParser(MetaFileParser): -1, self._LineIndex+1, -1, - 0 + 0, + Usage ) if IsFindBlockComment: EdkLogger.error("Parser", FORMAT_INVALID, "Open block comments (starting with /*) are expected to end with */", -- cgit v1.2.3