MCPcopy Create free account
hub / github.com/cppcheck-opensource/cppcheck / Define

Class Define

addons/misra.py:1315–1337  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1313 return True
1314
1315class Define:
1316 def __init__(self, directive):
1317 self.name = ''
1318 self.args = []
1319 self.expansionList = ''
1320
1321 res = re.match(r'#define ([A-Za-z0-9_]+)\(([A-Za-z0-9_, ]+)\)[ ]+(.*)', directive.str)
1322 if res:
1323 self.name = res.group(1)
1324 self.args = res.group(2).strip().split(',')
1325 self.expansionList = res.group(3)
1326 else:
1327 res = re.match(r'#define ([A-Za-z0-9_]+)[ ]+(.*)', directive.str)
1328 if res:
1329 self.name = res.group(1)
1330 self.expansionList = res.group(2)
1331
1332 def __repr__(self):
1333 attrs = ["name", "args", "expansionList"]
1334 return "{}({})".format(
1335 "Define",
1336 ", ".join(("{}={}".format(a, repr(getattr(self, a))) for a in attrs))
1337 )
1338
1339
1340def getAddonRules():

Callers 5

misra_20_7Method · 0.70
misra_20_10Method · 0.70
misra_20_11Method · 0.70
misra_20_12Method · 0.70
misra_21_2Method · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected