Public Methods | |
BlockMap () | |
BlockMap (SootMethod m, int flags) | |
void | addLocal (Local l) |
ca mcgill sable util List | collapse () |
SootMethod | createMethod (String name, ca.mcgill.sable.util.List params, Type ret) |
List | getFinalBlocks () |
Index | getInit () |
JimpleBody | getListBody () |
Local | getLocal (String name, Type t) |
ca mcgill sable util List | getLocals () |
Map | getStmtToIndex () |
void | setInit (Index i) |
void | setLocals (ca.mcgill.sable.util.List l) |
String | toString () |
Static Public Attributes | |
final int | BLOCKLEVEL = 0 |
final int | STMTLEVEL = 1 |
final int | HAMMOCK = 2 |
String | returnVariable = "$RESULT$" |
Protected Methods | |
void | compress () |
void | setJumps () |
void | setupBlockLevel (boolean hammock) |
void | setupStmtLevel (boolean hammock) |
Protected Attributes | |
Index | initBlock |
List | finalBlocks |
Map | stmtToIndex |
JimpleBody | listBody |
ca mcgill sable util List | locals |
StmtList | stmtList |
SootMethod | method |
Map | nameToLocal |
Definition at line 51 of file BlockMap.java.
|
Constructs a new empty blockmap. Definition at line 86 of file BlockMap.java. |
|
Constructs a new blockmap from a method with the flags.
Definition at line 100 of file BlockMap.java. |
|
Adds a local to the local list.
Definition at line 119 of file BlockMap.java. |
|
Collapses all the block into a list of statements. It merges blocks that end with a goto to another block that only has one entry point. It then puts goto's and other structures as necessesary to ensure correct list construction.
Definition at line 131 of file BlockMap.java. |
|
Creates a method from the blockmap. It takes the name, parameters, and the return type and creates the methods.
Definition at line 228 of file BlockMap.java. |
|
Return the list of final blocks.
Definition at line 249 of file BlockMap.java. |
|
Get the initial index. Definition at line 256 of file BlockMap.java. |
|
Return the list body made from the method. Definition at line 263 of file BlockMap.java. |
|
Get a reference to a local. If it is not there, it creates and adds it.
Definition at line 273 of file BlockMap.java. |
|
Get the list of locals declared for the block map. Definition at line 298 of file BlockMap.java. |
|
Returns the statement to index map. Definition at line 305 of file BlockMap.java. |
|
Set the initial index of a block map. Definition at line 312 of file BlockMap.java. |
|
Set all the jumps so that they point to the correct statement. This method is used before any outside analysis because the statements jumps point to can be null because they can be unknown during the creation of a blockmap. This sets all the statements to the correct points. Definition at line 323 of file BlockMap.java. |
|
Set the list of locals. Definition at line 377 of file BlockMap.java. |
|
Option to set block level structure in the basic blocks. Definition at line 55 of file BlockMap.java. |
|
Option to set a hammock CFG when there is only one entrance and one exit. Definition at line 66 of file BlockMap.java. |
|
Option to set statement level structures in the basic blocks. Definition at line 60 of file BlockMap.java. |
|
String name for the return variable used in hammock mode. Definition at line 71 of file BlockMap.java. |