Wrap long lines
Run the disassembler in it's own thread Makes the gui responsive while the disassembler is working. Would also allow for severall worker threads in the disassembler in the future -- and more cool stuff!
Make requestNewFunction pass a signal With the Disassembler being assigned to a different thread soon, this should allow the gui to stay alive while the disassembler is busy working.
Remove deprecated printEachInstruction function replaced by getInstructions, no users left
Change from list to vector We want to index into that array so a vector is the better data structure
Rework API for getting at instructions Now we don't hand a callback to the Disassembler, instead we just get a list of Instruction objects and use that
Use -Wextra and be -Wextra-clean
Reoganize Function/BasicBlock creation More control in the hand of the information manager. Mid-Term goal is to support loading of files so the Disassembler shouldn't have separate storage of all BasicBlocks and Functions that we would have to also populate upon loading saves
Move Function/BasicBlock to core and clean up includes Function and BasicBlock are considered part od the Data Model and part of the core. Move them there. Also remove lots of #include from the headers and replace them by forward declarations. This should make compilation units smaller and remove the huge number of users for each header -- speeding up compilation and making users explicitely include stuff they use.
Allow addition of new functions The ListWidget now displays a ContextMenu where the user can add a new function by typing the address
Make function/jump targets clickable
Whitespace cleanup
Add in an Information Manager Now individual functions are added to the GUI via signals. This is the way it was alwasys supposed to work. Now Information flow is cleaner, we can add support to save things and we can properly tag things as functions and rerun the disassembler. Also includes some whitespace cleanup for technical reasons
Move to table widget -- looks nicer and matches better
Fill BasicBlockWidgets with actual assembly instructions
Properly create and export BasicBlock linking
Remove old API
Add interface to iterate over functions
Recursive disassembler Disassemblers properly recursive. Doesn't yet really build the neccessary data structure. Also doesn't handle jump targets in the middle of preexisting basic blocks properly.
Factor out llvm disassembler