diff options
Diffstat (limited to 'BaseTools/Source/Python')
-rw-r--r-- | BaseTools/Source/Python/AutoGen/IdfClassObject.py | 19 | ||||
-rw-r--r-- | BaseTools/Source/Python/AutoGen/UniClassObject.py | 29 |
2 files changed, 16 insertions, 32 deletions
diff --git a/BaseTools/Source/Python/AutoGen/IdfClassObject.py b/BaseTools/Source/Python/AutoGen/IdfClassObject.py index 6953854a52..82396d3744 100644 --- a/BaseTools/Source/Python/AutoGen/IdfClassObject.py +++ b/BaseTools/Source/Python/AutoGen/IdfClassObject.py @@ -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
diff --git a/BaseTools/Source/Python/AutoGen/UniClassObject.py b/BaseTools/Source/Python/AutoGen/UniClassObject.py index 5b879d784d..4e16afec5c 100644 --- a/BaseTools/Source/Python/AutoGen/UniClassObject.py +++ b/BaseTools/Source/Python/AutoGen/UniClassObject.py @@ -218,6 +218,19 @@ class StringDefClassObject(object): self.StringValueByteList = UniToHexList(self.StringValue)
self.Length = len(self.StringValueByteList)
+def StripComments(Line):
+ Comment = u'//'
+ 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(u'"', 0, CommentPos) - Line.count(u'\\"', 0, CommentPos)) & 1) == 1:
+ CommentPos = Line.find (Comment, CommentPos + 1)
+ else:
+ return Line[:CommentPos].strip()
+ return Line.strip()
+
## UniFileClassObject
#
# A structure for .uni file definition
@@ -371,20 +384,6 @@ class UniFileClassObject(object): FileName = Item[Item.find(u'#include ') + len(u'#include ') :Item.find(u' ', len(u'#include '))][1:-1]
self.LoadUniFile(FileName)
- def StripComments(self, Line):
- Comment = u'//'
- 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(u'"', 0, CommentPos) - Line.count(u'\\"', 0, CommentPos)) & 1) == 1:
- CommentPos = Line.find (Comment, CommentPos + 1)
- else:
- return Line[:CommentPos].strip()
- return Line.strip()
-
-
#
# Pre-process before parse .uni file
#
@@ -406,7 +405,7 @@ class UniFileClassObject(object): for Line in FileIn:
Line = Line.strip()
Line = Line.replace(u'\\\\', BACK_SLASH_PLACEHOLDER)
- Line = self.StripComments(Line)
+ Line = StripComments(Line)
#
# Ignore empty line
|