]> git.siccegge.de Git - frida/frida.git/blobdiff - src/core/Function.hxx
Pass the InformationManager inside the BasicBlock and Function classes
[frida/frida.git] / src / core / Function.hxx
index 3c8f799543c8d3acb5901951a64cf9bb96246e74..f4fa90e1e429eeaf9928896b454906226ce3e223 100644 (file)
@@ -4,12 +4,15 @@
 #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;
@@ -19,6 +22,10 @@ public:
                return name;
        }
 
+       InformationManager* getManager() const {
+               return manager;
+       }
+
        void addBasicBlock(BasicBlock* block) {
                _blocks.insert(std::make_pair(block->getStartAddress(), block));
        }
@@ -29,6 +36,7 @@ public:
 private:
        std::string name;
        uint64_t start_address;
+       InformationManager * manager;
        std::map<uint64_t, BasicBlock*> _blocks;
 };