|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||
java.lang.Object | +--jreversepro.revengine.JCollatingTable
JCollating table is responsible for collating the table objects.
| Field Summary |
| Fields inherited from interface jreversepro.revengine.BranchConstants |
TYPE_BRANCH, TYPE_CASE, TYPE_CATCH, TYPE_CATCH_ANY, TYPE_DO_WHILE, TYPE_ELSE, TYPE_ELSE_IF, TYPE_GOTO, TYPE_IF, TYPE_INVALID, TYPE_JSR, TYPE_RET, TYPE_SWITCH, TYPE_SYNC, TYPE_TRY, TYPE_TRY_ANY, TYPE_WHILE |
| Fields inherited from interface jreversepro.common.KeyWords |
ANY, BOOLEAN, BREAK, BYTE, CASE, CHAR, CLASS, CLASS_STRING, CLINIT, CLOSE_BRACKET, COND_AND, COND_NOT, COND_OR, CONTINUE, DEFAULT, DEFAULT_PACKAGE, DOUBLE, EQUALTO, FALSE, FLOAT, FOREIGN_CLASS, FOREIGN_OBJ, GOTO, INIT, INSTANCEOF, INT, INTERFACE, JVM_BOOLEAN, JVM_CHAR, JVM_VOID, LANG_OBJECT, LENGTH, LONG, NEW, NULL, OPEN_BRACKET, OPR_EQ, OPR_GE, OPR_GT, OPR_LE, OPR_LT, OPR_NE, OPR_NOT, REFERENCE, RET_ADDR, RETURN, SHORT, SPACE, STATIC, SUPER, SWITCH, THIS, THISCLASS, THROW, TRUE, VOID |
| Constructor Summary | |
JCollatingTable(JMethod method)
|
|
| Method Summary | |
void |
addConditionalBranch(JInstruction thisIns,
int startPc,
int type,
java.lang.String opr1,
java.lang.String opr2)
|
void |
collate()
This collates the information of the BranchTable to the Java-compiler Readable branches. |
protected void |
finalize()
Finalizer. |
java.util.List |
getEffectiveBranches()
This method prunes the entries, removes all those branches whose type are TYPE_INVALID. |
void |
identifyWhileLoops(java.util.Map mapGotos)
Identifies the while loop in the list of branches mentioned. |
void |
sort()
Sorts the branches - List. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
public JCollatingTable(JMethod method)
method - Method in which this collating
table entry is present,| Method Detail |
protected void finalize()
finalize in class java.lang.Objectpublic java.util.List getEffectiveBranches()
public void addConditionalBranch(JInstruction thisIns,
int startPc,
int type,
java.lang.String opr1,
java.lang.String opr2)
thisIns - Instruction - usually a if_xyz opcode.startPc - StartPc of the conditional branch.type - Type of the branchopr1 - Operand 1.opr2 - Operand 2.public void sort()
public void collate()
StartPc TargetPc NextPc in that order
x y z
z y p Case1
x y z
z p q Case2
public void identifyWhileLoops(java.util.Map mapGotos)
mapGotos - Map containing the goto entries in the
method.public java.lang.String toString()
toString in class java.lang.Object
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||||