Package org.apache.bcel.verifier.statics
Class LocalVariableInfo
java.lang.Object
org.apache.bcel.verifier.statics.LocalVariableInfo
A utility class holding the information about the name and the type of a local variable in a given slot (== index).
This information often changes in course of byte code offsets.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate void
Adds information about name and type for a given offset.void
Adds some information about this local variable (slot).getName
(int offset) Returns the name of the local variable that uses this local variable slot at the given bytecode offset.getType
(int offset) Returns the type of the local variable that uses this local variable slot at the given bytecode offset.private void
Adds a name of a local variable and a certain slot to our 'names' (Hashtable) database.private void
Adds a type of a local variable and a certain slot to our 'types' (Hashtable) database.
-
Field Details
-
types
The types database. KEY: String representing the offset integer. -
names
The names database. KEY: String representing the offset integer.
-
-
Constructor Details
-
LocalVariableInfo
public LocalVariableInfo()
-
-
Method Details
-
add
Adds information about name and type for a given offset.- Throws:
LocalVariableInfoInconsistentException
- if the new information conflicts with already gathered information.
-
add
public void add(String name, int startPc, int length, Type type) throws LocalVariableInfoInconsistentException Adds some information about this local variable (slot).- Parameters:
name
- variable namestartPc
- Range in which the variable is valid.length
- length of ...type
- variable type- Throws:
LocalVariableInfoInconsistentException
- if the new information conflicts with already gathered information.
-
getName
Returns the name of the local variable that uses this local variable slot at the given bytecode offset. Care for legal bytecode offsets yourself, otherwise the return value might be wrong. May return 'null' if nothing is known about the type of this local variable slot at the given bytecode offset.- Parameters:
offset
- bytecode offset.- Returns:
- the name of the local variable that uses this local variable slot at the given bytecode offset.
-
getType
Returns the type of the local variable that uses this local variable slot at the given bytecode offset. Care for legal bytecode offsets yourself, otherwise the return value might be wrong. May return 'null' if nothing is known about the type of this local variable slot at the given bytecode offset.- Parameters:
offset
- bytecode offset.- Returns:
- the type of the local variable that uses this local variable slot at the given bytecode offset.
-
setName
Adds a name of a local variable and a certain slot to our 'names' (Hashtable) database. -
setType
Adds a type of a local variable and a certain slot to our 'types' (Hashtable) database.
-