MCPcopy Create free account
hub / github.com/CloverHackyColor/CloverBootloader / CheckDeclArgModifier

Function CheckDeclArgModifier

BaseTools/Source/Python/Ecc/c.py:1804–1846  ·  view source on GitHub ↗
(FullFileName)

Source from the content-addressed store, hash-verified

1802 CheckDeclTypedefFormat(FullFileName, DataClass.MODEL_IDENTIFIER_UNION)
1803
1804def CheckDeclArgModifier(FullFileName):
1805 ErrorMsgList = []
1806
1807 FileID = GetTableID(FullFileName, ErrorMsgList)
1808 if FileID < 0:
1809 return ErrorMsgList
1810
1811 Db = GetDB()
1812 FileTable = 'Identifier' + str(FileID)
1813 SqlStatement = """ select Modifier, Name, ID
1814 from %s
1815 where Model = %d
1816 """ % (FileTable, DataClass.MODEL_IDENTIFIER_VARIABLE)
1817 ResultSet = Db.TblFile.Exec(SqlStatement)
1818 ModifierTuple = ('IN', 'OUT', 'OPTIONAL', 'UNALIGNED')
1819 MAX_MODIFIER_LENGTH = 100
1820 for Result in ResultSet:
1821 for Modifier in ModifierTuple:
1822 if PatternInModifier(Result[0], Modifier) and len(Result[0]) < MAX_MODIFIER_LENGTH:
1823 PrintErrorMsg(ERROR_DECLARATION_DATA_TYPE_CHECK_IN_OUT_MODIFIER, 'Variable Modifier %s' % Result[0], FileTable, Result[2])
1824 break
1825
1826 SqlStatement = """ select Modifier, Name, ID
1827 from %s
1828 where Model = %d
1829 """ % (FileTable, DataClass.MODEL_IDENTIFIER_FUNCTION_DECLARATION)
1830 ResultSet = Db.TblFile.Exec(SqlStatement)
1831 for Result in ResultSet:
1832 for Modifier in ModifierTuple:
1833 if PatternInModifier(Result[0], Modifier):
1834 PrintErrorMsg(ERROR_DECLARATION_DATA_TYPE_CHECK_IN_OUT_MODIFIER, 'Return Type Modifier %s' % Result[0], FileTable, Result[2])
1835 break
1836
1837 SqlStatement = """ select Modifier, Header, ID
1838 from Function
1839 where BelongsToFile = %d
1840 """ % (FileID)
1841 ResultSet = Db.TblFile.Exec(SqlStatement)
1842 for Result in ResultSet:
1843 for Modifier in ModifierTuple:
1844 if PatternInModifier(Result[0], Modifier):
1845 PrintErrorMsg(ERROR_DECLARATION_DATA_TYPE_CHECK_IN_OUT_MODIFIER, 'Return Type Modifier %s' % Result[0], FileTable, Result[2])
1846 break
1847
1848def CheckDeclNoUseCType(FullFileName):
1849 ErrorMsgList = []

Callers

nothing calls this directly

Calls 6

GetTableIDFunction · 0.85
PatternInModifierFunction · 0.85
lenFunction · 0.85
GetDBFunction · 0.70
PrintErrorMsgFunction · 0.70
ExecMethod · 0.45

Tested by

no test coverage detected