Class LocalVariables
- java.lang.Object
-
- org.apache.bcel.verifier.structurals.LocalVariables
-
- All Implemented Interfaces:
java.lang.Cloneable
public class LocalVariables extends java.lang.Object implements java.lang.Cloneable
This class implements an array of local variables used for symbolic JVM simulation.
-
-
Constructor Summary
Constructors Constructor Description LocalVariables(int localVariableCount)
Creates a new LocalVariables object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.Object
clone()
Returns a deep copy of this object; i.e.boolean
equals(java.lang.Object o)
Type
get(int slotIndex)
Returns the type of the local variable slot index.LocalVariables
getClone()
Returns a (correctly typed) clone of this object.int
hashCode()
void
initializeObject(UninitializedObjectType uninitializedObjectType)
Replaces all occurrences ofuninitializedObjectType
in this local variables set with an "initialized" ObjectType.int
maxLocals()
Returns the number of local variable slots.void
merge(LocalVariables localVariable)
Merges two local variables sets as described in the Java Virtual Machine Specification, Second Edition, section 4.9.2, page 146.void
set(int slotIndex, Type type)
Sets a new Type for the given local variable slot.java.lang.String
toString()
Returns a String representation of this object.
-
-
-
Constructor Detail
-
LocalVariables
public LocalVariables(int localVariableCount)
Creates a new LocalVariables object.- Parameters:
localVariableCount
- local variable count.
-
-
Method Detail
-
clone
public java.lang.Object clone()
Returns a deep copy of this object; i.e. the clone operates on a new local variable array. However, the Type objects in the array are shared.- Overrides:
clone
in classjava.lang.Object
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
get
public Type get(int slotIndex)
Returns the type of the local variable slot index.- Parameters:
slotIndex
- Slot to look up.- Returns:
- the type of the local variable slot index.
-
getClone
public LocalVariables getClone()
Returns a (correctly typed) clone of this object. This is equivalent to ((LocalVariables) this.clone()).- Returns:
- a (correctly typed) clone of this object.
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- a hash code value for the object.
-
initializeObject
public void initializeObject(UninitializedObjectType uninitializedObjectType)
Replaces all occurrences ofuninitializedObjectType
in this local variables set with an "initialized" ObjectType.- Parameters:
uninitializedObjectType
- the object to match.
-
maxLocals
public int maxLocals()
Returns the number of local variable slots.- Returns:
- the number of local variable slots.
-
merge
public void merge(LocalVariables localVariable)
Merges two local variables sets as described in the Java Virtual Machine Specification, Second Edition, section 4.9.2, page 146.- Parameters:
localVariable
- other local variable.
-
set
public void set(int slotIndex, Type type)
Sets a new Type for the given local variable slot.- Parameters:
slotIndex
- Target slot index.type
- Type to save at the given slot index.
-
toString
public java.lang.String toString()
Returns a String representation of this object.- Overrides:
toString
in classjava.lang.Object
-
-