Revision: 16487
http://sourceforge.net/p/edk2/code/16487
Author: hchen30
Date: 2014-12-09 06:41:58 +0000 (Tue, 09 Dec 2014)
Log Message:
-----------
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 ?\226?\128?\156!ERROR?\226?\128?\157
Ignore issue of parsing a macro
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hess Chen <[email protected]>
Reviewed-by: Liming Gao <[email protected]>
Modified Paths:
--------------
trunk/edk2/BaseTools/Source/Python/Common/DataType.py
trunk/edk2/BaseTools/Source/Python/CommonDataClass/DataClass.py
trunk/edk2/BaseTools/Source/Python/Ecc/Check.py
trunk/edk2/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py
Modified: trunk/edk2/BaseTools/Source/Python/Common/DataType.py
===================================================================
--- trunk/edk2/BaseTools/Source/Python/Common/DataType.py 2014-12-09
02:20:16 UTC (rev 16486)
+++ trunk/edk2/BaseTools/Source/Python/Common/DataType.py 2014-12-09
06:41:58 UTC (rev 16487)
@@ -442,6 +442,7 @@
TAB_IF_DEF = '!ifdef'
TAB_IF_N_DEF = '!ifndef'
TAB_IF_EXIST = '!if exist'
+TAB_ERROR = '!ERROR'
#
# Unknown section
Modified: trunk/edk2/BaseTools/Source/Python/CommonDataClass/DataClass.py
===================================================================
--- trunk/edk2/BaseTools/Source/Python/CommonDataClass/DataClass.py
2014-12-09 02:20:16 UTC (rev 16486)
+++ trunk/edk2/BaseTools/Source/Python/CommonDataClass/DataClass.py
2014-12-09 06:41:58 UTC (rev 16487)
@@ -86,6 +86,7 @@
MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE = 5005
MODEL_META_DATA_CONDITIONAL_STATEMENT_IFDEF = 5006
MODEL_META_DATA_CONDITIONAL_STATEMENT_IFNDEF = 5007
+MODEL_META_DATA_CONDITIONAL_STATEMENT_ERROR = 5400
MODEL_META_DATA_BUILD_OPTION = 5008
MODEL_META_DATA_COMPONENT = 5009
MODEL_META_DATA_USER_EXTENSION = 5010
@@ -164,6 +165,7 @@
("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_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_BUILD_OPTION", MODEL_META_DATA_BUILD_OPTION),
("MODEL_META_DATA_COMPONENT", MODEL_META_DATA_COMPONENT),
Modified: trunk/edk2/BaseTools/Source/Python/Ecc/Check.py
===================================================================
--- trunk/edk2/BaseTools/Source/Python/Ecc/Check.py 2014-12-09 02:20:16 UTC
(rev 16486)
+++ trunk/edk2/BaseTools/Source/Python/Ecc/Check.py 2014-12-09 06:41:58 UTC
(rev 16487)
@@ -63,7 +63,7 @@
def GeneralCheckNonAcsii(self):
if EccGlobalData.gConfig.GeneralCheckNonAcsii == '1' or
EccGlobalData.gConfig.GeneralCheckAll == '1' or EccGlobalData.gConfig.CheckAll
== '1':
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)
for Record in RecordSet:
if Record[2].upper() not in
EccGlobalData.gConfig.BinaryExtList:
Modified:
trunk/edk2/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py
===================================================================
--- trunk/edk2/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py
2014-12-09 02:20:16 UTC (rev 16486)
+++ trunk/edk2/BaseTools/Source/Python/Ecc/MetaFileWorkspace/MetaFileParser.py
2014-12-09 06:41:58 UTC (rev 16487)
@@ -461,13 +461,14 @@
MODEL_PCD_DYNAMIC_EX,
MODEL_PCD_DYNAMIC]:
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
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)]
- else:
- Usage = ''
else:
# skip empty, commented, block commented lines
Line = CleanString(Content[Index], AllowCppStyleComment=True)
@@ -545,6 +546,7 @@
# LineBegin=-1, ColumnBegin=-1, LineEnd=-1, ColumnEnd=-1,
Enabled=-1
#
self._ValueList[0] = self._ValueList[0].replace('/', '\\')
+ Usage = Usage.strip()
for Arch, Platform in self._Scope:
self._Store(self._SectionType,
self._ValueList[0],
@@ -561,6 +563,7 @@
0,
Usage
)
+ Usage = ''
if IsFindBlockComment:
EdkLogger.error("Parser", FORMAT_INVALID, "Open block comments
(starting with /*) are expected to end with */",
File=self.MetaFile)
@@ -731,6 +734,7 @@
TAB_ELSE_IF.upper() :
MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSEIF,
TAB_ELSE.upper() :
MODEL_META_DATA_CONDITIONAL_STATEMENT_ELSE,
TAB_END_IF.upper() :
MODEL_META_DATA_CONDITIONAL_STATEMENT_ENDIF,
+ TAB_ERROR.upper() :
MODEL_META_DATA_CONDITIONAL_STATEMENT_ERROR,
}
# Valid names in define section
@@ -1117,6 +1121,7 @@
MODEL_META_DATA_BUILD_OPTION :
self.__ProcessBuildOption,
MODEL_UNKNOWN : self._Skip,
MODEL_META_DATA_USER_EXTENSION : self._Skip,
+ MODEL_META_DATA_CONDITIONAL_STATEMENT_ERROR : self._Skip,
}
self._RawTable = self._Table
@@ -1152,9 +1157,10 @@
# Only catch expression evaluation error here. We need to
report
# the precise number of line on which the error occurred
#
- EdkLogger.error('Parser', FORMAT_INVALID, "Invalid expression:
%s" % str(Excpt),
- File=self._FileWithError, ExtraData='
'.join(self._ValueList),
- Line=self._LineIndex+1)
+ pass
+# EdkLogger.error('Parser', FORMAT_INVALID, "Invalid
expression: %s" % str(Excpt),
+# File=self._FileWithError, ExtraData='
'.join(self._ValueList),
+# Line=self._LineIndex+1)
except MacroException, Excpt:
EdkLogger.error('Parser', FORMAT_INVALID, str(Excpt),
File=self._FileWithError, ExtraData='
'.join(self._ValueList),
@@ -1809,7 +1815,10 @@
# Load Fdf file if filename is not None
#
if Filename != None:
- self.LoadFdfFile(Filename)
+ try:
+ self.LoadFdfFile(Filename)
+ except Exception:
+ pass
#
# Insert a FDF file record into database
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits