| 1313 | return True |
| 1314 | |
| 1315 | class 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 | |
| 1340 | def getAddonRules(): |
no outgoing calls
no test coverage detected