- virtual void forEachInstruction(const std::string& name, std::function<void (long, std::string, std::string)> callback) = 0;
-
- // http://llvm.org/docs/doxygen/html/MCObjectDisassembler_8cpp_source.html +197
- BasicBlock * generateControlFlowGraph(const std::string& name);
- BasicBlock * generateControlFlowGraph(uint64_t address);
-
-protected:
- virtual bool isFunctionCall(uint64_t address) = 0;
- virtual bool isJump(uint64_t address) = 0;
+ virtual Function * disassembleFunctionAt(uint64_t address, const std::string& name = "") = 0;
+ virtual std::vector<Instruction> getInstructions(const BasicBlock* block) = 0;