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

Method __init__

addons/cppcheckdata.py:1222–1268  ·  view source on GitHub ↗

:param filename: Path to Cppcheck dump file

(self, filename)

Source from the content-addressed store, hash-verified

1220 """
1221
1222 def __init__(self, filename):
1223 """
1224 :param filename: Path to Cppcheck dump file
1225 """
1226 self.language = None
1227 self.filename = filename
1228 self.rawTokens = []
1229 self.platform = None
1230 self.suppressions = []
1231 self.files = [] # source files for elements occurred in this configuration
1232
1233 platform_done = False
1234 rawtokens_done = False
1235 suppressions_done = False
1236
1237 # Parse general configuration options from <dumps> node
1238 # We intentionally don't clean node resources here because we
1239 # want to serialize in memory only small part of the XML tree.
1240 for event, node in ElementTree.iterparse(self.filename, events=('start', 'end')):
1241 if platform_done and rawtokens_done and suppressions_done:
1242 break
1243 if node.tag == 'dumps':
1244 self.language = node.get('language')
1245 if node.tag == 'platform' and event == 'start':
1246 self.platform = Platform(node)
1247 platform_done = True
1248 elif node.tag == 'rawtokens' and event == 'end':
1249 for rawtokens_node in node:
1250 if rawtokens_node.tag == 'file':
1251 self.files.append(rawtokens_node.get('name'))
1252 elif rawtokens_node.tag == 'tok':
1253 tok = Token(rawtokens_node)
1254 tok.file = self.files[int(rawtokens_node.get('fileIndex'))]
1255 self.rawTokens.append(tok)
1256 rawtokens_done = True
1257 elif node.tag == 'suppressions' and event == 'end':
1258 for suppressions_node in node:
1259 self.suppressions.append(Suppression(suppressions_node))
1260 suppressions_done = True
1261
1262 global current_dumpfile_suppressions
1263 current_dumpfile_suppressions = self.suppressions
1264
1265 # Set links between rawTokens.
1266 for i in range(len(self.rawTokens)-1):
1267 self.rawTokens[i+1].previous = self.rawTokens[i]
1268 self.rawTokens[i].next = self.rawTokens[i+1]
1269
1270 @property
1271 def configurations(self):

Callers

nothing calls this directly

Calls 4

PlatformClass · 0.70
TokenClass · 0.70
SuppressionClass · 0.70
getMethod · 0.45

Tested by

no test coverage detected