| 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 | canClearNativeStack(long addressBegin, long addressEnd) | ||||||||||
| abstract boolean | canCreateVariable(long offset, int bitsize) | ||||||||||
| abstract void | clearNativeStack(long addressBegin, long addressEnd) | ||||||||||
| 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() | ||||||||||
| abstract IEVar | removeVariable(long offset) | ||||||||||
| abstract IEVar | removeVariable(IEVar var) | ||||||||||
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