Interface IEStackManager


public interface IEStackManager
Element of an IR context providing support for creating local vars representing stack variables.
  • 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

      IEVar getVariable(long offset)
    • getVariableAtSlot

      IEVar getVariableAtSlot(int index)
    • removeVariable

      IEVar removeVariable(IEVar var)
    • removeVariable

      IEVar removeVariable(long offset)
    • canClearNativeStack

      boolean canClearNativeStack(long addressBegin, long addressEnd)
    • clearNativeStack

      void clearNativeStack(long addressBegin, long addressEnd)
    • createStackItem

      IEVar createStackItem(long preferredOffset, int preferredBitsize)
      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.
      Parameters:
      preferredOffset - relative stack offset in bytes
      preferredBitsize - requested variable size in bits - must be a multiple of 2
      Returns:
      the IEVar, null on error
    • createPureStackItem

      IEVar createPureStackItem(long offset, int bitsize)
      Create a pure IEVar, regardless of a referenced native stack.
      Parameters:
      offset -
      bitsize -
      Returns:
    • getActualStackItemType

      IWildcardType getActualStackItemType(long offset)
      Parameters:
      offset -
      Returns: