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
.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
tag
The name of this attribute"LocalVariableTable"
.static java.lang.String
typeTag
The name of the attribute"LocalVariableTypeTable"
.-
Fields inherited from class javassist.bytecode.AttributeInfo
constPool, info, name
-
-
Constructor Summary
Constructors Constructor Description LocalVariableAttribute(ConstPool cp)
Constructs an empty LocalVariableTable.LocalVariableAttribute(ConstPool cp, int n, java.io.DataInputStream in)
LocalVariableAttribute(ConstPool cp, java.lang.String name)
Deprecated.LocalVariableAttribute(ConstPool cp, java.lang.String name, byte[] i)
-
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
.(package private) LocalVariableAttribute
makeThisAttr(ConstPool cp, byte[] dest)
int
nameIndex(int i)
Returns the value oflocal_variable_table[i].name_index
.(package private) void
renameClass(java.lang.String oldname, java.lang.String newname)
(package private) void
renameClass(java.util.Map<java.lang.String,java.lang.String> classnames)
(package private) java.lang.String
renameEntry(java.lang.String desc, java.lang.String oldname, java.lang.String newname)
(package private) java.lang.String
renameEntry(java.lang.String desc, java.util.Map<java.lang.String,java.lang.String> classnames)
void
shiftIndex(int lessThan, int delta)
For eachlocal_variable_table[i].index
, this method increasesindex
bydelta
.(package private) void
shiftPc(int where, int gapLength, boolean exclusive)
Adjusts start_pc and length if bytecode is inserted in a method body.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
copyAll, get, getConstPool, getLength, getName, getRefClasses, getRefClasses, length, lookup, read, remove, renameClass, renameClass, set, write, writeAll
-
-
-
-
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.
-
LocalVariableAttribute
@Deprecated public LocalVariableAttribute(ConstPool cp, java.lang.String name)
Deprecated.Constructs an empty LocalVariableTable.
-
LocalVariableAttribute
LocalVariableAttribute(ConstPool cp, int n, java.io.DataInputStream in) throws java.io.IOException
- Throws:
java.io.IOException
-
LocalVariableAttribute
LocalVariableAttribute(ConstPool cp, java.lang.String name, byte[] i)
-
-
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
-
renameClass
void renameClass(java.lang.String oldname, java.lang.String newname)
- Overrides:
renameClass
in classAttributeInfo
-
renameEntry
java.lang.String renameEntry(java.lang.String desc, java.lang.String oldname, java.lang.String newname)
-
renameClass
void renameClass(java.util.Map<java.lang.String,java.lang.String> classnames)
- Overrides:
renameClass
in classAttributeInfo
-
renameEntry
java.lang.String renameEntry(java.lang.String desc, java.util.Map<java.lang.String,java.lang.String> classnames)
-
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.
-
shiftPc
void shiftPc(int where, int gapLength, boolean exclusive)
Adjusts start_pc and length if bytecode is inserted in a method body.
-
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.
-
makeThisAttr
LocalVariableAttribute makeThisAttr(ConstPool cp, byte[] dest)
-
-