# Interface: com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEStackManager

Element of an [IR context](IERoutineContext) providing support for creating local [vars](IEVar) representing stack variables.

## Method: canClearNativeStack
- parameter: `addressBegin`, type: `long`
- parameter: `addressEnd`, type: `long`
- return type: `boolean`


## Method: canCreateVariable
- parameter: `offset`, type: `long`
- parameter: `bitsize`, type: `int`
- return type: `boolean`


## Method: clearNativeStack
- parameter: `addressBegin`, type: `long`
- parameter: `addressEnd`, type: `long`


## Method: createPureStackItem
- parameter: `offset`, type: `long`
- parameter: `bitsize`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar`

Description: Create a pure [IEVar](IEVar), regardless of a referenced native stack.
parameter: offset: 
parameter: bitsize: 
return: 

## Method: createStackItem
- parameter: `preferredOffset`, type: `long`
- parameter: `preferredBitsize`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar`

Description: Create a new stack variable. May return null, may be at different offset and/or with a different size. The [IEVar](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.
parameter: preferredOffset: relative stack offset in bytes
parameter: preferredBitsize: requested variable size in bits \- must be a multiple of 2
return: the [IEVar](IEVar), null on error

## Method: getActualStackItemType
- parameter: `offset`, type: `long`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IWildcardType`

Description: 
parameter: offset: 
return: 

## Method: getHighestVariableOffset
- return type: `java.lang.Long`


## Method: getHighestVariableOffsetEnd
- return type: `java.lang.Long`


## Method: getLowestVariableOffset
- return type: `java.lang.Long`


## Method: getNormalSlotBitsize
- return type: `int`


## Method: getNormalSlotSize
- return type: `int`


## Method: getRoutineContext
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.IERoutineContext`


## Method: getVariable
- parameter: `offset`, type: `long`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar`


## Method: getVariableAtSlot
- parameter: `index`, type: `int`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar`


## Method: getVariables
- return type: `java.util.Collection<com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar>`


## Method: hasVariables
- return type: `boolean`


## Method: removeVariable
- parameter: `var`, type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar`


## Method: removeVariable
- parameter: `offset`, type: `long`
- return type: `com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEVar`


