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
.-
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.
-
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.
-
-