return block;
}
-std::list<Instruction> BasicBlock::getInstructions() const {
+std::vector<Instruction> BasicBlock::getInstructions() const {
return manager->getDisassembler()->getInstructions(this);
}
#include <cassert>
#include <string>
#include <sstream>
-#include <list>
+#include <vector>
class Instruction;
class Disassembler;
return s.str();
}
- std::list<Instruction> getInstructions() const;
+ std::vector<Instruction> getInstructions() const;
void serialize(QXmlStreamWriter& stream);
static BasicBlock* deserialize(QXmlStreamReader& stream, InformationManager* manager);
#include <string>
#include <functional>
-#include <list>
+#include <vector>
#include "Instruction.hxx"
std::function<void (uint8_t*, size_t, const std::string&,
const std::string&)> fun) = 0;
virtual Function * disassembleFunctionAt(uint64_t address, const std::string& name = "") = 0;
- virtual std::list<Instruction> getInstructions(const BasicBlock* block) = 0;
+ virtual std::vector<Instruction> getInstructions(const BasicBlock* block) = 0;
};
#endif
// }
template <typename ELFT>
-std::list<Instruction> LLVMDisassembler<ELFT>::getInstructions(const BasicBlock *block) {
- std::list<Instruction> result;
+std::vector<Instruction> LLVMDisassembler<ELFT>::getInstructions(const BasicBlock *block) {
+ std::vector<Instruction> result;
SectionRef text_section = getTextSection();
uint64_t base_address;
text_section.getAddress(base_address);
const std::string&)> fun);
Function * disassembleFunctionAt(uint64_t address, const std::string& name = "");
- std::list<Instruction> getInstructions(const BasicBlock* block);
+ std::vector<Instruction> getInstructions(const BasicBlock* block);
private:
// http://llvm.org/docs/doxygen/html/MCObjectDisassembler_8cpp_source.html +197
#include <array>
#include <memory>
#include <log4cxx/logger.h>
-#include <list>
#include "disassembler/Instruction.hxx"
class Mainwindow;
class CustomQGraphicsTextItem;
-
class BasicBlock;
-
class RenameFunctionEvent;
class BasicBlockWidget : public QObject, public QGraphicsItem
std::unique_ptr<QGraphicsTextItem> _widget;
QTextTable* _table;
BasicBlock* block;
- std::list<Instruction> instructions;
+ std::vector<Instruction> instructions;
Mainwindow* mainwindow;
std::vector<BasicBlockWidget*> previous;
BasicBlockWidget* next[2];