gnu.bytecode
Class Variable
java.lang.Object
gnu.bytecode.Location
gnu.bytecode.Variable
- All Implemented Interfaces:
- java.util.Enumeration
public class Variable
- extends Location
- implements java.util.Enumeration
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Variable
public Variable()
Variable
public Variable(java.lang.String name)
Variable
public Variable(java.lang.String name,
Type type)
nextVar
public final Variable nextVar()
hasMoreElements
public final boolean hasMoreElements()
- Specified by:
hasMoreElements
in interface java.util.Enumeration
nextElement
public java.lang.Object nextElement()
- Specified by:
nextElement
in interface java.util.Enumeration
isAssigned
public final boolean isAssigned()
- Returns true iff assigned to a local variable slot.
Only relevant if isSimple ().
isSimple
public final boolean isSimple()
- Returns true for a "simple" variable.
A "simple" Variable can be stack-allocated using standard local
variable slots. It is allocated by the codegen package.
A non-simple variable may need heap allocation, or more more
complex access; it is basically ignored by the codegen package,
and must be managed by higher layers.
setSimple
public final void setSimple(boolean simple)
isParameter
public final boolean isParameter()
setParameter
public final void setParameter(boolean parameter)
reserveLocal
public boolean reserveLocal(int varIndex,
CodeAttr code)
- Assign a local variable to a given local variable slot.
- Parameters:
varIndex
- the index of the local variables.
- Returns:
- true iff we succeeded (i.e. the slot was unused)
allocateLocal
public void allocateLocal(CodeAttr code)
- Allocate slots for a local variable (or parameter).
freeLocal
public void freeLocal(CodeAttr code)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object