class Disassembler;
class InformationManager;
+class QXmlStreamWriter;
+class QXmlStreamReader;
class BasicBlock {
public:
- BasicBlock(uint64_t start_address, Disassembler * disassembler,
- InformationManager* manager)
- : start_address(start_address)
- , disassembler(disassembler)
- , manager(manager) {
- next_blocks[0] = 0;
- next_blocks[1] = 0;
- }
-
uint64_t getStartAddress() const {
return start_address;
}
return s.str();
}
- Disassembler * getDisassembler() const {
- return disassembler;
- }
-
InformationManager* getManager() const {
return manager;
}
+
+ void serialize(QXmlStreamWriter& stream);
+ static BasicBlock* deserialize(QXmlStreamReader& stream, InformationManager* manager);
+
private:
+ BasicBlock(uint64_t start_address, InformationManager* manager)
+ : start_address(start_address)
+ , end_address(0)
+ , manager(manager) {
+ next_blocks[0] = 0;
+ next_blocks[1] = 0;
+ }
+
uint64_t start_address;
uint64_t end_address;
Disassembler* disassembler;
InformationManager* manager;
uint64_t next_blocks[2];
+
+ friend class InformationManager;
};
#endif