|
|||||||||
| Home >> All >> jreversepro >> [ revengine overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
jreversepro.revengine
Class JSwitchTable

java.lang.Objectjreversepro.revengine.JSwitchTable
- All Implemented Interfaces:
- jreversepro.common.JJvmOpcodes, jreversepro.common.KeyWords
- public class JSwitchTable
- extends java.lang.Object
- implements jreversepro.common.KeyWords, jreversepro.common.JJvmOpcodes
- extends java.lang.Object
JSwitchTable represents the 'switch' statement as entry pairs as follows. Pair = { CaseValues, Targets }.
| Field Summary | |
(package private) java.util.List |
cases
List of cases that are available. |
(package private) java.lang.String |
datatype
Datatype of the variable for which switch is used. |
(package private) int |
defaultByte
DefaultByte for this switch statement. |
(package private) int |
insIndex
Instruction index of the switch statement. |
(package private) int |
maxTarget
Max Target from this switch statement group |
(package private) jreversepro.reflect.JMethod |
method
Reference to method to which this switch table belongs. |
(package private) java.lang.String |
varName
Name of the variable that is put under switch statement. |
| 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 | |
JSwitchTable(jreversepro.reflect.JMethod method,
jreversepro.reflect.JInstruction ins,
java.util.Map gotos)
|
|
JSwitchTable(jreversepro.reflect.JMethod method,
jreversepro.reflect.JInstruction ins,
jreversepro.runtime.Operand op1,
java.util.Map gotos)
|
|
| Method Summary | |
void |
addCaseEntry(JCaseEntry caseEntry)
Inserts a CaseEntry in the list. |
private void |
createLookupSwitch(byte[] entries,
int offset,
java.util.Map gotos)
For 'lookupswitch' opcode this fills the data structure - JSwitchTable. |
private void |
createTableSwitch(byte[] entries,
int offset,
java.util.Map gotos)
For 'tableswitch' opcode this fills the data structure - JSwitchTable. |
java.lang.String |
disassemble()
|
JBranchEntry |
getBranchEntry()
|
java.util.List |
getCases()
|
int |
getDefaultByte()
|
void |
processData(java.util.Map gotos)
Process the bytecode stream of case values and targets to individual case blocks. |
void |
setTypeValue(java.lang.String rhsType,
java.lang.String rhsValue)
|
java.lang.String |
toString()
Convert this Object to a human-readable String. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
insIndex
int insIndex
- Instruction index of the switch statement.
cases
java.util.List cases
- List of cases that are available.
Individual elements are JCaseEntry.
defaultByte
int defaultByte
- DefaultByte for this switch statement.
maxTarget
int maxTarget
- Max Target from this switch statement group
varName
java.lang.String varName
- Name of the variable that is put under switch statement.
datatype
java.lang.String datatype
- Datatype of the variable for which switch is used.
method
jreversepro.reflect.JMethod method
- Reference to method to which this
switch table belongs.
| Constructor Detail |
JSwitchTable
public JSwitchTable(jreversepro.reflect.JMethod method, jreversepro.reflect.JInstruction ins, java.util.Map gotos) throws RevEngineException, java.io.IOException
JSwitchTable
public JSwitchTable(jreversepro.reflect.JMethod method, jreversepro.reflect.JInstruction ins, jreversepro.runtime.Operand op1, java.util.Map gotos) throws RevEngineException, java.io.IOException
| Method Detail |
getDefaultByte
public int getDefaultByte()
createTableSwitch
private void createTableSwitch(byte[] entries,
int offset,
java.util.Map gotos)
throws java.io.IOException
- For 'tableswitch' opcode this fills the data structure -
JSwitchTable.
createLookupSwitch
private void createLookupSwitch(byte[] entries,
int offset,
java.util.Map gotos)
throws java.io.IOException
- For 'lookupswitch' opcode this fills the data structure -
JSwitchTable.
getCases
public java.util.List getCases()
disassemble
public java.lang.String disassemble()
setTypeValue
public void setTypeValue(java.lang.String rhsType, java.lang.String rhsValue)
processData
public void processData(java.util.Map gotos)
- Process the bytecode stream of case values and targets to
individual case blocks.
getBranchEntry
public JBranchEntry getBranchEntry()
addCaseEntry
public void addCaseEntry(JCaseEntry caseEntry)
- Inserts a CaseEntry in the list.
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object - Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string concatenation with this object. If the result is
null, string concatenation will instead use"null".The default implementation returns
getClass().getName() + "@" + Integer.toHexString(hashCode()).
|
|||||||||
| Home >> All >> jreversepro >> [ revengine overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
JAVADOC
jreversepro.revengine.JSwitchTable