for F in Filenames:\r
if os.path.splitext(F)[1] in ('.c'):\r
FullName = os.path.join(Dirpath, F)\r
+ EdkLogger.quiet("[PROTOTYPE]" + FullName)\r
c.CheckFuncLayoutPrototype(FullName)\r
\r
# Check whether the body of a function is contained by open and close braces that must be in the first column\r
for F in Filenames:\r
if os.path.splitext(F)[1] in ('.c'):\r
FullName = os.path.join(Dirpath, F)\r
+ EdkLogger.quiet("[BOOLEAN]" + FullName)\r
c.CheckBooleanValueComparison(FullName)\r
# Check whether Non-Boolean comparisons use a compare operator (==, !=, >, < >=, <=). \r
def PredicateExpressionCheckNonBooleanOperator(self):\r
for F in Filenames:\r
if os.path.splitext(F)[1] in ('.c'):\r
FullName = os.path.join(Dirpath, F)\r
+ EdkLogger.quiet("[NON-BOOLEAN]" + FullName)\r
c.CheckNonBooleanValueComparison(FullName)\r
# Check whether a comparison of any pointer to zero must be done via the NULL type\r
def PredicateExpressionCheckComparisonNullType(self):\r
for F in Filenames:\r
if os.path.splitext(F)[1] in ('.c'):\r
FullName = os.path.join(Dirpath, F)\r
+ EdkLogger.quiet("[POINTER]" + FullName)\r
c.CheckPointerNullComparison(FullName)\r
#\r
# Include file checking\r
import MetaDataParser\r
\r
IncludeFileListDict = {}\r
+AllIncludeFileListDict = {}\r
IncludePathListDict = {}\r
ComplexTypeDict = {}\r
SUDict = {}\r
return None\r
\r
def GetAllIncludeFiles(FullFileName):\r
+ if AllIncludeFileListDict.get(FullFileName) != None:\r
+ return AllIncludeFileListDict.get(FullFileName)\r
+ \r
IncludePathList = IncludePathListDict.get(os.path.dirname(FullFileName))\r
if IncludePathList == None:\r
IncludePathList = MetaDataParser.GetIncludeListOfFile(EccGlobalData.gWorkspace, FullFileName, GetDB())\r
if FullPath != None and FullPath not in IncludeFileQueue:\r
IncludeFileQueue.insert(i + 1, FullPath)\r
i += 1\r
+ \r
+ AllIncludeFileListDict[FullFileName] = IncludeFileQueue\r
return IncludeFileQueue\r
\r
def GetPredicateListFromPredicateExpStr(PES):\r