#include <sstream>
class Disassembler;
+class InformationManager;
class BasicBlock {
public:
- BasicBlock(uint64_t start_address, Disassembler * disassembler)
+ BasicBlock(uint64_t start_address, Disassembler * disassembler,
+ InformationManager* manager)
: start_address(start_address)
- , disassembler(disassembler) {
+ , 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() {
+ 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];
};