1 #ifndef INCLUDE__BasicBlock_hxx
2 #define INCLUDE__BasicBlock_hxx
9 class InformationManager;
10 class QXmlStreamWriter;
11 class QXmlStreamReader;
15 uint64_t getStartAddress() const {
19 uint64_t getEndAddress() const {
23 uint64_t getNextBlock(size_t index) const {
25 return next_blocks[index];
28 void setNextBlock(size_t index, uint64_t address) {
30 next_blocks[index] = address;
33 void setStartAddress(uint64_t address) {
34 start_address = address;
37 void setEndAddress(uint64_t address) {
38 end_address = address;
41 std::string getName() const {
43 s << "BLOCK_" << std::hex << start_address << '_' << end_address;
47 InformationManager* getManager() const {
51 void serialize(QXmlStreamWriter& stream);
52 static BasicBlock* deserialize(QXmlStreamReader& stream, InformationManager* manager);
55 BasicBlock(uint64_t start_address, InformationManager* manager)
56 : start_address(start_address)
62 uint64_t start_address;
64 Disassembler* disassembler;
65 InformationManager* manager;
66 uint64_t next_blocks[2];
68 friend class InformationManager;