Interface IEStackManager
public interface IEStackManager
Element of an
IR context
providing support for creating local
vars
representing stack variables.-
Method Summary
Modifier and TypeMethodDescriptionboolean
canClearNativeStack
(long addressBegin, long addressEnd) boolean
canCreateVariable
(long offset, int bitsize) void
clearNativeStack
(long addressBegin, long addressEnd) createPureStackItem
(long offset, int bitsize) Create a pureIEVar
, regardless of a referenced native stack.createStackItem
(long preferredOffset, int preferredBitsize) Create a new stack variable.getActualStackItemType
(long offset) int
int
getVariable
(long offset) getVariableAtSlot
(int index) boolean
removeVariable
(long offset) removeVariable
(IEVar var)
-
Method Details
-
getRoutineContext
IERoutineContext getRoutineContext() -
getNormalSlotBitsize
int getNormalSlotBitsize() -
getNormalSlotSize
int getNormalSlotSize() -
getLowestVariableOffset
Long getLowestVariableOffset() -
getHighestVariableOffset
Long getHighestVariableOffset() -
getHighestVariableOffsetEnd
Long getHighestVariableOffsetEnd() -
canCreateVariable
boolean canCreateVariable(long offset, int bitsize) -
hasVariables
boolean hasVariables() -
getVariables
Collection<IEVar> getVariables() -
getVariable
-
getVariableAtSlot
-
removeVariable
-
removeVariable
-
canClearNativeStack
boolean canClearNativeStack(long addressBegin, long addressEnd) -
clearNativeStack
void clearNativeStack(long addressBegin, long addressEnd) -
createStackItem
Create a new stack variable. May return null, may be at different offset and/or with a different size. TheIEVar
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.- Parameters:
preferredOffset
- relative stack offset in bytespreferredBitsize
- requested variable size in bits - must be a multiple of 2- Returns:
- the
IEVar
, null on error
-
createPureStackItem
Create a pureIEVar
, regardless of a referenced native stack.- Parameters:
offset
-bitsize
-- Returns:
-
getActualStackItemType
- Parameters:
offset
-- Returns:
-