com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEStackManager |
Element of an IR context
providing support for creating local
vars
representing stack variables.
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
abstract boolean | canCreateVariable(long offset, int bitsize) | ||||||||||
abstract IEVar |
createPureStackItem(long offset, int bitsize)
Create a pure
IEVar , regardless of a referenced native stack. | ||||||||||
abstract IEVar |
createStackItem(long preferredOffset, int preferredBitsize)
Create a new stack variable.
| ||||||||||
abstract IWildcardType | getActualStackItemType(long offset) | ||||||||||
abstract Long | getHighestVariableOffset() | ||||||||||
abstract Long | getHighestVariableOffsetEnd() | ||||||||||
abstract Long | getLowestVariableOffset() | ||||||||||
abstract int | getNormalSlotBitsize() | ||||||||||
abstract int | getNormalSlotSize() | ||||||||||
abstract IERoutineContext | getRoutineContext() | ||||||||||
abstract IEVar | getVariable(long offset) | ||||||||||
abstract IEVar | getVariableAtSlot(int index) | ||||||||||
abstract Collection<IEVar> | getVariables() | ||||||||||
abstract boolean | hasVariables() |
Create a pure IEVar
, regardless of a referenced native stack.
Create a new stack variable. May return null, may be at different offset and/or with a
different size. The IEVar
created may be larger than the actual hit size!! eg, native
item is int64, on a 32-bit slot stack. A corresponding native stack item will be created.
This method may fail if existing native items conflict with the requested creation.
preferredOffset | relative stack offset in bytes |
---|---|
preferredBitsize | requested variable size in bits - must be a multiple of 2 |
IEVar
, null on error