BaseTools: AutoGen - share StripComments API

add the API root in one class file.
delete the static API out of both classes.
share it in the single location.

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Jaben Carsey <jaben.carsey@intel.com>
Reviewed-by: Yonghong Zhu <yonghong.zhu@intel.com>
This commit is contained in:
Carsey, Jaben
2018-04-28 06:32:22 +08:00
committed by Yonghong Zhu
parent c541989741
commit c23ef28c20
2 changed files with 16 additions and 32 deletions

View File

@ -22,6 +22,7 @@ from Common.LongFilePathSupport import LongFilePath
import re
import os
from Common.GlobalData import gIdentifierPattern
from UniClassObject import StripComments
IMAGE_TOKEN = re.compile('IMAGE_TOKEN *\(([A-Z0-9_]+) *\)', re.MULTILINE | re.UNICODE)
@ -91,7 +92,7 @@ class IdfFileClassObject(object):
ImageFileList = []
for Line in FileIn.splitlines():
Line = Line.strip()
Line = self.StripComments(Line)
Line = StripComments(Line)
if len(Line) == 0:
continue
@ -121,22 +122,6 @@ class IdfFileClassObject(object):
if ImageFileList:
self.ImageFilesDict[File] = ImageFileList
def StripComments(self, Line):
Comment = '//'
CommentPos = Line.find(Comment)
while CommentPos >= 0:
# if there are non matched quotes before the comment header
# then we are in the middle of a string
# but we need to ignore the escaped quotes and backslashes.
if ((Line.count('"', 0, CommentPos) - Line.count('\\"', 0, CommentPos)) & 1) == 1:
CommentPos = Line.find (Comment, CommentPos + 1)
else:
return Line[:CommentPos].strip()
return Line.strip()
def ImageDecoder(self, File):
pass
def SearchImageID(ImageFileObject, FileList):
if FileList == []:
return ImageFileObject