Andrea Gussoni
4a49a60b99
Fix and convention enforcing
...
Some fixes and conventions enforcing before decompilation pipeline
restructure.
2019-03-12 13:49:53 +01:00
Andrea Gussoni
969b5e7601
Remove reference to original switch
...
Remove from the `IfEqualNode` the reference to the BBNode corresponding
to the original `switch`, since we cannot have the guarantee that this
node will remain allocated in the same place (the pointer could be
invalidated).
Also insert other fixes.
2019-03-11 11:24:18 +01:00
Andrea Gussoni
9f00e3125e
Add SwitchNode AST type
...
Match and create the `SwitchNode` node when we encounter a chain of
`IfEqualNode` nodes.
2019-03-08 15:31:30 +01:00
Pietro Fezzardi
3b2dac4e85
Enforce clang-format
2019-02-25 12:29:15 +01:00
Andrea Gussoni
f790e308e1
Add ID for AST nodes
...
Added a unique ID to AST nodes, which is useful for serialization
purposes after flattening.
2019-02-11 14:15:07 +01:00
Pietro Fezzardi
463c40a9cf
Add ASTNode children BreakNode and ContinueNode
2019-02-11 12:18:44 +01:00
Andrea Gussoni
929c0c4cdf
Flattening for AST
...
Implemented the flattening also for the AST trees, taking also care of
adjusting the pointers to the new BBNode in the `root` `RegionCFG`.
2019-02-11 12:18:44 +01:00
Andrea Gussoni
0cdb63630e
Restructure ASTTree anatomy
...
Added a pointer to the `RootNode` in the ASTTree, and added a
`dumpOnFile` method for easier serialization.
2019-01-30 18:35:24 +01:00
Pietro Fezzardi
da299f3095
EnforceCFGCombingPass: inject dummy nodes in CFG
2019-01-16 12:53:08 +01:00
Pietro Fezzardi
5805679ead
RestructureCFGPass: fix use of include directory
2019-01-15 16:57:15 +01:00
Andrea Gussoni
06717a6185
Import RestructureCFGPass from revamb branch
...
Import the RestructureCFGPass from the `feature/the-comb` branch on the
`revamb` repository.
2019-01-14 15:45:08 +01:00