#include "BasicBlock.hxx"
class InformationManager;
+class QXmlStreamWriter;
class Function {
public:
- Function(const std::string& name, uint64_t start_address, InformationManager* manager);
-
uint64_t getStartAddress() const {
return start_address;
}
const std::map<uint64_t, BasicBlock*>& blocks() {
return _blocks;
}
+
+ void serialize(QXmlStreamWriter& stream);
+ static Function* deserialize(QXmlStreamReader& stream, InformationManager* manager);
+
private:
+ Function(uint64_t start_address, InformationManager* manager);
+
std::string name;
uint64_t start_address;
InformationManager * manager;
std::map<uint64_t, BasicBlock*> _blocks;
+
+ friend class InformationManager;
};
#endif