| java.lang.Object | |
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.decompiler.ast.simulator.CMethodState |
State of a simulated method.
ICIdentifier
CMethodState.ControlWord value to select the next instruction to execute
areEquivalent(CMethodState, CMethodState, boolean, boolean), to test if another state
might represent the same computation.
| Nested Classes | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| enum | CMethodState.ControlWord | Control word. | |||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| CMethodState(List<ICStatement> statements) | |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| static boolean |
areEquivalent(CMethodState state1, CMethodState state2, boolean checkProducedValues, boolean checkControlWords)
Checks if two states might represent the same computation, namely:
| ||||||||||
| CMethodState.ControlWord | getControlWord() | ||||||||||
| int | getControlWordIndex() | ||||||||||
| ICIdentifier | getIdentifier(ICElement element) | ||||||||||
| Long | getLocalVarValue(ICElement element) | ||||||||||
| Map<ICIdentifier, Long> | getLocalVarValues() | ||||||||||
| Long | getReturnValue() | ||||||||||
| List<ICStatement> | getStatements() | ||||||||||
| boolean |
isMethodParametersSpoiled()
If true, parameters of methods called are considered spoiled; the corresponding variables'
values will be modified by the simulation.
| ||||||||||
| void | setControlWord(CMethodState.ControlWord controlWord) | ||||||||||
| void | setControlWordIndex(int controlWordIndex) | ||||||||||
| void | setLocalVarValue(ICIdentifier id, Long value) | ||||||||||
| void | setMethodParametersSpoiled(boolean methodParametersSpoiled) | ||||||||||
| void | setReturnValue(Long returnValue) | ||||||||||
| void |
setValue(ICElement element, Long value, CEnvironment environment)
Sets a variable --either local or global-- value.
| ||||||||||
| String | toString() | ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
Checks if two states might represent the same computation, namely:
If true, parameters of methods called are considered spoiled; the corresponding variables' values will be modified by the simulation. If false, they are left intact.
Sets a variable --either local or global-- value.