Package org.apache.bcel.verifier.statics
Class LocalVariableInfo
- java.lang.Object
-
- org.apache.bcel.verifier.statics.LocalVariableInfo
-
public class LocalVariableInfo extends java.lang.ObjectA 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.
-
-
Constructor Summary
Constructors Constructor Description LocalVariableInfo()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidadd(int offset, java.lang.String name, Type t)Adds information about name and type for a given offset.voidadd(java.lang.String name, int startPc, int length, Type type)Adds some information about this local variable (slot).java.lang.StringgetName(int offset)Returns the name of the local variable that uses this local variable slot at the given bytecode offset.TypegetType(int offset)Returns the type of the local variable that uses this local variable slot at the given bytecode offset.private voidsetName(int offset, java.lang.String name)Adds a name of a local variable and a certain slot to our 'names' (Hashtable) database.private voidsetType(int offset, Type t)Adds a type of a local variable and a certain slot to our 'types' (Hashtable) database.
-
-
-
Field Detail
-
types
private final java.util.Hashtable<java.lang.String,Type> types
The types database. KEY: String representing the offset integer.
-
names
private final java.util.Hashtable<java.lang.String,java.lang.String> names
The names database. KEY: String representing the offset integer.
-
-
Method Detail
-
setName
private void setName(int offset, java.lang.String name)Adds a name of a local variable and a certain slot to our 'names' (Hashtable) database.
-
setType
private void setType(int offset, Type t)Adds a type of a local variable and a certain slot to our 'types' (Hashtable) database.
-
getType
public Type getType(int offset)
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.
-
getName
public java.lang.String getName(int offset)
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.
-
add
public void add(java.lang.String name, int startPc, int length, Type type) throws LocalVariableInfoInconsistentExceptionAdds 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.
-
add
private void add(int offset, java.lang.String name, Type t) throws LocalVariableInfoInconsistentExceptionAdds information about name and type for a given offset.- Throws:
LocalVariableInfoInconsistentException- if the new information conflicts with already gathered information.
-
-