#include <map>
#include "BasicBlock.hxx"
+class InformationManager;
+
class Function {
public:
- Function(const std::string& name, uint64_t start_address)
+ Function(const std::string& name, uint64_t start_address,
+ InformationManager* manager)
: name(name)
- , start_address(start_address) {
- }
+ , start_address(start_address)
+ ,manager(manager) {}
uint64_t getStartAddress() const {
return start_address;
}
- std::string getName() const {
- return name;
+ std::string getName() const
+ { return name; }
+ void setName(const std::string& new_name)
+ { name = new_name; }
+
+ InformationManager* getManager() const {
+ return manager;
}
void addBasicBlock(BasicBlock* block) {
private:
std::string name;
uint64_t start_address;
+ InformationManager * manager;
std::map<uint64_t, BasicBlock*> _blocks;
};