stream.setAutoFormatting(true);
stream.setAutoFormattingIndent(-1);
stream.writeStartDocument();
- stream.writeStartElement("function");
- stream.writeAttribute("name", fun->getName().c_str());
- stream.writeAttribute("entry", QString::number(fun->getStartAddress(), 16));
-
- for (auto& blockentry : fun->blocks()) {
- stream.writeStartElement("block");
- stream.writeAttribute("id", blockentry.second->getName().c_str());
- stream.writeTextElement("start", QString::number(blockentry.second->getStartAddress(), 16));
- stream.writeTextElement("end", QString::number(blockentry.second->getEndAddress(), 16));
- if (0 != blockentry.second->getNextBlock(0))
- stream.writeTextElement("next", QString::number(blockentry.second->getNextBlock(0), 16));
- if (0 != blockentry.second->getNextBlock(1))
- stream.writeTextElement("next", QString::number(blockentry.second->getNextBlock(1), 16));
- stream.writeEndElement(); // "block"
- }
-
- stream.writeEndElement(); // "function"
+
+ fun->serialize(stream);
+
stream.writeEndDocument();
outZipFile.close();
}