23 Commits (5b48611b69b5a143b7e7b5bf003b0571f23d9044)

Author SHA1 Message Date
David Srbecký af00ad101a Restore for loop condition. It is a simple pattern match. 15 years ago
David Srbecký 075c5bebdb Remove empty 'else body' of 'if' statement. 15 years ago
David Srbecký 6ebd05c0fe Simplify type names. For example replace "System.Console.WriteLine" with "Console.WriteLine" because we have a "using System;" statement. Replace "Int32" with "int", etc... 15 years ago
David Srbecký 8643290a4c Remove redundant 'goto' statements in form: 15 years ago
David Srbecký ecad71d802 Added custom Ast classes for Goto and Label statements that track the reference count of a label. 15 years ago
David Srbecký 356c0b0d2f Completely rewritten the Node tree structure. It became increasingly difficult to maintain the node links (Predecessors, Successors) consistent during transformations. So rather then keeping them consistent I have implemented an algorithm that can calculate the Predecessors or Successors for any given node. There are a few caches on the way so that the calculation does not calculate everything again every time. Affected caches are automatically flushed when a tree structure changes. This is implemented using 'collection with events'. 15 years ago
David Srbecký b310187433 GUI debugging controls 15 years ago
David Srbecký 0bff44d922 Create class for each node type 15 years ago
David Srbecký aba6b0950c Split method body to basic blocks 15 years ago
David Srbecký 37d40932d9 Convert ByteCodeCollection to new data representation: StackExpressionCollection; 15 years ago
David Srbecký ed413b7ec3 Move stack analysis to the ByteCode class 15 years ago
David Srbecký b7486c3221 Move StackBehaviour code to separate file 15 years ago
David Srbecký 53eed43bf5 Moved typing code to ByteCode.GetType() 15 years ago
David Srbecký 0fe95f6b0b Use custom data structure to store bytecode sequence 15 years ago
David Srbecký a9ab824805 Get type for stack slots (partially implemented); Types are stored as Cecil TypeReferences 15 years ago
David Srbecký 238605c831 Initial stack analysis implementation: 15 years ago
David Srbecký af3a01cd44 Rename files 15 years ago
David Srbecký 7753b88bc5 Use NRefactory to create method bodies -> CodeDom not used anymore 15 years ago
David Srbecký e5500abf75 Output the skeleton code using NRefactory instead of CodeDom 15 years ago
David Srbecký f0640bb4ef Moved some code into separate file; 15 years ago
David Srbecký d43bf783ba Load the assembly and create a skeleton for each type (just 'public class' now) 15 years ago
David Srbecký c3368ce842 Added reference to the Mono.Cecil library 15 years ago
David Srbecký a6ff8910b4 Started the decompiler project - just a form with a text box where the generated source code will go 15 years ago
David Srbecký 9e5fc484c7 Added a QuickSort program 15 years ago