1 #ifndef INCLUDE__Disassembler_hxx
2 #define INCLUDE__Disassembler_hxx
9 #include "Instruction.hxx"
13 class InformationManager;
15 class Disassembler : public QObject {
21 virtual ~Disassembler() {}
23 virtual void getSymbols() = 0;
24 virtual uint64_t entryAddress() = 0;
29 virtual void start() = 0;
30 virtual Function * disassembleFunctionAt(uint64_t address) {
31 return disassembleFunctionAt(address, "");
33 virtual Function * disassembleFunctionAt(uint64_t address,
34 const std::string& name) = 0;
36 // TODO: Should use move semantics!
37 virtual std::vector<Instruction> getInstructions(const BasicBlock* block) = 0;