X-Git-Url: https://git.siccegge.de//index.cgi?a=blobdiff_plain;f=src%2Fcore%2FBasicBlock.hxx;h=c7ae26eb0a3c03d7650b47653a77a888f456239d;hb=3493bceb6690f53900d2a4524401990c601b1464;hp=b3e5a89d819cfbd74c5b375919eba6dcccd7e09a;hpb=32e87746db981882b95aceddde79ef12034a3405;p=frida%2Ffrida.git diff --git a/src/core/BasicBlock.hxx b/src/core/BasicBlock.hxx index b3e5a89..c7ae26e 100644 --- a/src/core/BasicBlock.hxx +++ b/src/core/BasicBlock.hxx @@ -5,13 +5,12 @@ #include #include +class Disassembler; +class InformationManager; +class QXmlStreamWriter; + class BasicBlock { public: - BasicBlock() { - next_blocks[0] = 0; - next_blocks[1] = 0; - } - uint64_t getStartAddress() const { return start_address; } @@ -38,17 +37,32 @@ public: end_address = address; } - std::string getName() { + std::string getName() const { std::stringstream s; s << "BLOCK_" << std::hex << start_address << '_' << end_address; return s.str(); } + InformationManager* getManager() const { + return manager; + } + + void serialize(QXmlStreamWriter& stream); private: + BasicBlock(uint64_t start_address, InformationManager* manager) + : start_address(start_address) + , 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