#include <string>
#include <sstream>
+class Disassembler;
+class InformationManager;
+
class BasicBlock {
public:
- BasicBlock() {
+ 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;
}
end_address = address;
}
- std::string getName() {
+ std::string getName() const {
std::stringstream s;
s << "BLOCK_" << std::hex << start_address << '_' << end_address;
return s.str();
}
+ Disassembler * getDisassembler() const {
+ return disassembler;
+ }
+
+ InformationManager* getManager() const {
+ return manager;
+ }
private:
uint64_t start_address;
uint64_t end_address;
-
+ Disassembler* disassembler;
+ InformationManager* manager;
uint64_t next_blocks[2];
};