Package javassist.bytecode
Class LocalVariableAttribute
- java.lang.Object
-
- javassist.bytecode.AttributeInfo
-
- javassist.bytecode.LocalVariableAttribute
-
- Direct Known Subclasses:
LocalVariableTypeAttribute
public class LocalVariableAttribute extends AttributeInfo
LocalVariableTable_attribute
.
-
-
Constructor Summary
Constructors Constructor Description LocalVariableAttribute(ConstPool cp)
Constructs an empty LocalVariableTable.LocalVariableAttribute(ConstPool cp, java.lang.String name)
Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addEntry(int startPc, int length, int nameIndex, int descriptorIndex, int index)
Appends a new entry tolocal_variable_table
.int
codeLength(int i)
Returnslocal_variable_table[i].length
.AttributeInfo
copy(ConstPool newCp, java.util.Map<java.lang.String,java.lang.String> classnames)
Makes a copy.java.lang.String
descriptor(int i)
Returns the type descriptor of the local variable specified bylocal_variable_table[i].descriptor_index
.int
descriptorIndex(int i)
Returns the value oflocal_variable_table[i].descriptor_index
.int
index(int i)
Returnslocal_variable_table[i].index
.int
nameIndex(int i)
Returns the value oflocal_variable_table[i].name_index
.void
shiftIndex(int lessThan, int delta)
For eachlocal_variable_table[i].index
, this method increasesindex
bydelta
.java.lang.String
signature(int i)
This method is equivalent todescriptor()
.int
signatureIndex(int i)
This method is equivalent todescriptorIndex()
.int
startPc(int i)
Returnslocal_variable_table[i].start_pc
.int
tableLength()
Returnslocal_variable_table_length
.java.lang.String
variableName(int i)
Returns the name of the local variable specified bylocal_variable_table[i].name_index
.java.lang.String
variableNameByIndex(int index)
Returns the name of the local variable with given index.-
Methods inherited from class javassist.bytecode.AttributeInfo
get, getConstPool, getName, length, set
-
-
-
-
Field Detail
-
tag
public static final java.lang.String tag
The name of this attribute"LocalVariableTable"
.- See Also:
- Constant Field Values
-
typeTag
public static final java.lang.String typeTag
The name of the attribute"LocalVariableTypeTable"
.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
LocalVariableAttribute
public LocalVariableAttribute(ConstPool cp)
Constructs an empty LocalVariableTable.
-
-
Method Detail
-
addEntry
public void addEntry(int startPc, int length, int nameIndex, int descriptorIndex, int index)
Appends a new entry tolocal_variable_table
.- Parameters:
startPc
-start_pc
length
-length
nameIndex
-name_index
descriptorIndex
-descriptor_index
index
-index
-
shiftIndex
public void shiftIndex(int lessThan, int delta)
For eachlocal_variable_table[i].index
, this method increasesindex
bydelta
.- Parameters:
lessThan
- the index does not change if it is less than this value.
-
tableLength
public int tableLength()
Returnslocal_variable_table_length
. This represents the number of entries in the table.
-
startPc
public int startPc(int i)
Returnslocal_variable_table[i].start_pc
. This represents the index into the code array from which the local variable is effective.- Parameters:
i
- the i-th entry.
-
codeLength
public int codeLength(int i)
Returnslocal_variable_table[i].length
. This represents the length of the code region in which the local variable is effective.- Parameters:
i
- the i-th entry.
-
nameIndex
public int nameIndex(int i)
Returns the value oflocal_variable_table[i].name_index
. This represents the name of the local variable.- Parameters:
i
- the i-th entry.
-
variableName
public java.lang.String variableName(int i)
Returns the name of the local variable specified bylocal_variable_table[i].name_index
.- Parameters:
i
- the i-th entry.
-
variableNameByIndex
public java.lang.String variableNameByIndex(int index)
Returns the name of the local variable with given index. If you want to get the parameter name of method with correct order, you should using this method.- Parameters:
index
- the index of the local variable.
-
descriptorIndex
public int descriptorIndex(int i)
Returns the value oflocal_variable_table[i].descriptor_index
. This represents the type descriptor of the local variable.If this attribute represents a LocalVariableTypeTable attribute, this method returns the value of
local_variable_type_table[i].signature_index
. It represents the type of the local variable.- Parameters:
i
- the i-th entry.
-
signatureIndex
public int signatureIndex(int i)
This method is equivalent todescriptorIndex()
. If this attribute represents a LocalVariableTypeTable attribute, this method should be used instead ofdescriptorIndex()
since the method name is more appropriate.- Parameters:
i
- the i-th entry.- See Also:
descriptorIndex(int)
,SignatureAttribute.toFieldSignature(String)
-
descriptor
public java.lang.String descriptor(int i)
Returns the type descriptor of the local variable specified bylocal_variable_table[i].descriptor_index
.If this attribute represents a LocalVariableTypeTable attribute, this method returns the type signature of the local variable specified by
local_variable_type_table[i].signature_index
.- Parameters:
i
- the i-th entry.
-
signature
public java.lang.String signature(int i)
This method is equivalent todescriptor()
. If this attribute represents a LocalVariableTypeTable attribute, this method should be used instead ofdescriptor()
since the method name is more appropriate.To parse the string, call
toFieldSignature(String)
inSignatureAttribute
.- Parameters:
i
- the i-th entry.- See Also:
descriptor(int)
,SignatureAttribute.toFieldSignature(String)
-
index
public int index(int i)
Returnslocal_variable_table[i].index
. This represents the index of the local variable.- Parameters:
i
- the i-th entry.
-
copy
public AttributeInfo copy(ConstPool newCp, java.util.Map<java.lang.String,java.lang.String> classnames)
Makes a copy.- Overrides:
copy
in classAttributeInfo
- Parameters:
newCp
- the constant pool table used by the new copy.classnames
- should be null.
-
-