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

Function loadMarkup

gui/cppchecklibrarydata.cpp:361–451  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

359}
360
361static CppcheckLibraryData::Markup loadMarkup(QXmlStreamReader &xmlReader)
362{
363 CppcheckLibraryData::Markup markup;
364
365 QXmlStreamReader::TokenType type;
366 if (xmlReader.attributes().hasAttribute("ext")) {
367 markup.ext = xmlReader.attributes().value("ext").toString();
368 } else {
369 mandatoryAttibuteMissing(xmlReader, "ext");
370 }
371 if (xmlReader.attributes().hasAttribute("aftercode")) {
372 markup.afterCode = (xmlReader.attributes().value("aftercode") == QString("true"));
373 } else {
374 mandatoryAttibuteMissing(xmlReader, "aftercode");
375 }
376 if (xmlReader.attributes().hasAttribute("reporterrors")) {
377 markup.reportErrors = (xmlReader.attributes().value("reporterrors") == QString("true"));
378 } else {
379 mandatoryAttibuteMissing(xmlReader, "reporterrors");
380 }
381
382 while ((type = xmlReader.readNext()) != QXmlStreamReader::EndElement ||
383 xmlReader.name().toString() != "markup") {
384 if (type != QXmlStreamReader::StartElement)
385 continue;
386 const QString elementName = xmlReader.name().toString();
387 if (elementName == "keywords") {
388 while ((type = xmlReader.readNext()) != QXmlStreamReader::EndElement ||
389 xmlReader.name().toString() != "keywords") {
390 if (type != QXmlStreamReader::StartElement)
391 continue;
392 if (xmlReader.name().toString() == "keyword") {
393 markup.keywords.append(xmlReader.attributes().value("name").toString());
394 } else {
395 unhandledElement(xmlReader);
396 }
397 }
398 } else if (elementName == "codeblocks") {
399 CppcheckLibraryData::Markup::CodeBlocks codeBlock;
400
401 while ((type = xmlReader.readNext()) != QXmlStreamReader::EndElement ||
402 xmlReader.name().toString() != "codeblocks") {
403 if (type != QXmlStreamReader::StartElement)
404 continue;
405 if (xmlReader.name().toString() == "block") {
406 codeBlock.blocks.append(xmlReader.attributes().value("name").toString());
407 } else if (xmlReader.name().toString() == "structure") {
408 codeBlock.offset = xmlReader.attributes().value("offset").toInt();
409 codeBlock.start = xmlReader.attributes().value("start").toString();
410 codeBlock.end = xmlReader.attributes().value("end").toString();
411 } else {
412 unhandledElement(xmlReader);
413 }
414 }
415 markup.codeBlocks.append(codeBlock);
416 } else if (elementName == "exported") {
417 CppcheckLibraryData::Markup::Exporter exporter;
418

Callers 1

openMethod · 0.85

Calls 6

mandatoryAttibuteMissingFunction · 0.85
unhandledElementFunction · 0.85
QStringClass · 0.70
toStringMethod · 0.45
valueMethod · 0.45
nameMethod · 0.45

Tested by

no test coverage detected