Package org.apache.bcel.classfile
Class LocalVariable
- java.lang.Object
-
- org.apache.bcel.classfile.LocalVariable
-
public final class LocalVariable extends java.lang.Object implements java.lang.Cloneable, Node, Constants
This class represents a local variable within a method. It contains its scope, name, signature and index on the method's frame.- Version:
- $Id$
- See Also:
LocalVariableTable
-
-
Field Summary
-
Fields inherited from interface org.apache.bcel.Constants
AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACCESS_NAMES, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ANEWARRAY_QUICK, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, ATTR_ANNOTATION_DEFAULT, ATTR_CODE, ATTR_CONSTANT_VALUE, ATTR_DEPRECATED, ATTR_EXCEPTIONS, ATTR_INNER_CLASSES, ATTR_LINE_NUMBER_TABLE, ATTR_LOCAL_VARIABLE_TABLE, ATTR_PMG, ATTR_RUNTIMEINVISIBLE_ANNOTATIONS, ATTR_RUNTIMEINVISIBLE_PARAMETER_ANNOTATIONS, ATTR_RUNTIMEVISIBLE_ANNOTATIONS, ATTR_RUNTIMEVISIBLE_PARAMETER_ANNOTATIONS, ATTR_SIGNATURE, ATTR_SOURCE_FILE, ATTR_STACK_MAP, ATTR_SYNTHETIC, ATTR_UNKNOWN, ATTRIBUTE_NAMES, BALOAD, BASTORE, BIPUSH, BREAKPOINT, CALOAD, CASTORE, CHECKCAST, CHECKCAST_QUICK, CLASS_TYPE_NAMES, CONSTANT_Class, CONSTANT_Double, CONSTANT_Fieldref, CONSTANT_Float, CONSTANT_Integer, CONSTANT_InterfaceMethodref, CONSTANT_Long, CONSTANT_Methodref, CONSTANT_NameAndType, CONSTANT_NAMES, CONSTANT_String, CONSTANT_Utf8, CONSTRUCTOR_NAME, CONSUME_STACK, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETFIELD_QUICK, GETFIELD_QUICK_W, GETFIELD2_QUICK, GETSTATIC, GETSTATIC_QUICK, GETSTATIC2_QUICK, GOTO, GOTO_W, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, ILLEGAL_OPCODE, ILLEGAL_TYPE, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMPDEP1, IMPDEP2, IMUL, INEG, INSTANCEOF, INSTANCEOF_QUICK, INT2BYTE, INT2CHAR, INT2SHORT, INTERFACES_IMPLEMENTED_BY_ARRAYS, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKEINTERFACE_QUICK, INVOKENONVIRTUAL, INVOKENONVIRTUAL_QUICK, INVOKESPECIAL, INVOKESTATIC, INVOKESTATIC_QUICK, INVOKESUPER_QUICK, INVOKEVIRTUAL, INVOKEVIRTUAL_QUICK, INVOKEVIRTUAL_QUICK_W, INVOKEVIRTUALOBJECT_QUICK, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, ITEM_Bogus, ITEM_Double, ITEM_Float, ITEM_InitObject, ITEM_Integer, ITEM_Long, ITEM_NAMES, ITEM_NewObject, ITEM_Null, ITEM_Object, IUSHR, IXOR, JSR, JSR_W, KNOWN_ATTRIBUTES, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_QUICK, LDC_W, LDC_W_QUICK, LDC2_W, LDC2_W_QUICK, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LXOR, MAJOR, MAJOR_1_1, MAJOR_1_2, MAJOR_1_3, MAJOR_1_4, MAJOR_1_5, MAX_ACC_FLAG, MAX_BYTE, MAX_CODE_SIZE, MAX_CP_ENTRIES, MAX_SHORT, MINOR, MINOR_1_1, MINOR_1_2, MINOR_1_3, MINOR_1_4, MINOR_1_5, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, MULTIANEWARRAY_QUICK, NEW, NEW_QUICK, NEWARRAY, NO_OF_OPERANDS, NOP, OPCODE_NAMES, POP, POP2, PRODUCE_STACK, PUSH, PUTFIELD, PUTFIELD_QUICK, PUTFIELD_QUICK_W, PUTFIELD2_QUICK, PUTSTATIC, PUTSTATIC_QUICK, PUTSTATIC2_QUICK, RESERVED, RET, RETURN, SALOAD, SASTORE, SHORT_TYPE_NAMES, SIPUSH, STATIC_INITIALIZER_NAME, SWAP, SWITCH, T_ADDRESS, T_ARRAY, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_OBJECT, T_REFERENCE, T_SHORT, T_UNKNOWN, T_VOID, TABLESWITCH, TYPE_NAMES, TYPE_OF_OPERANDS, UNDEFINED, UNPREDICTABLE, WIDE
-
-
Constructor Summary
Constructors Constructor Description LocalVariable(int start_pc, int length, int name_index, int signature_index, int index, ConstantPool constant_pool)
LocalVariable(int start_pc, int length, int name_index, int signature_index, int index, ConstantPool constant_pool, int orig_index)
LocalVariable(LocalVariable c)
Initialize from another object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class.LocalVariable
copy()
void
dump(java.io.DataOutputStream file)
Dump local variable to file stream in binary format.ConstantPool
getConstantPool()
int
getIndex()
int
getLength()
java.lang.String
getName()
int
getNameIndex()
int
getOrigIndex()
java.lang.String
getSignature()
int
getSignatureIndex()
int
getStartPC()
void
setConstantPool(ConstantPool constant_pool)
void
setIndex(int index)
void
setLength(int length)
void
setNameIndex(int name_index)
void
setSignatureIndex(int signature_index)
void
setStartPC(int start_pc)
java.lang.String
toString()
-
-
-
Constructor Detail
-
LocalVariable
public LocalVariable(LocalVariable c)
Initialize from another object. Note that both objects use the same references (shallow copy). Use copy() for a physical copy.
-
LocalVariable
public LocalVariable(int start_pc, int length, int name_index, int signature_index, int index, ConstantPool constant_pool)
- Parameters:
start_pc
- Range in which the variablelength
- ... is validname_index
- Index in constant pool of variable namesignature_index
- Index of variable's signatureindex
- Variable is `index'th local variable on the method's frameconstant_pool
- Array of constants
-
LocalVariable
public LocalVariable(int start_pc, int length, int name_index, int signature_index, int index, ConstantPool constant_pool, int orig_index)
- Parameters:
start_pc
- Range in which the variablelength
- ... is validname_index
- Index in constant pool of variable namesignature_index
- Index of variable's signatureindex
- Variable is `index'th local variable on the method's frameconstant_pool
- Array of constantsorig_index
- Variable is `index'th local variable on the method's frame prior to any changes
-
-
Method Detail
-
accept
public void accept(Visitor v)
Called by objects that are traversing the nodes of the tree implicitely defined by the contents of a Java class. I.e., the hierarchy of methods, fields, attributes, etc. spawns a tree of objects.
-
dump
public final void dump(java.io.DataOutputStream file) throws java.io.IOException
Dump local variable to file stream in binary format.- Parameters:
file
- Output file stream- Throws:
java.io.IOException
-
getConstantPool
public final ConstantPool getConstantPool()
- Returns:
- Constant pool used by this object.
-
getLength
public final int getLength()
- Returns:
- Variable is valid within getStartPC() .. getStartPC()+getLength()
-
getName
public final java.lang.String getName()
- Returns:
- Variable name.
-
getNameIndex
public final int getNameIndex()
- Returns:
- Index in constant pool of variable name.
-
getSignature
public final java.lang.String getSignature()
- Returns:
- Signature.
-
getSignatureIndex
public final int getSignatureIndex()
- Returns:
- Index in constant pool of variable signature.
-
getIndex
public final int getIndex()
- Returns:
- index of register where variable is stored
-
getOrigIndex
public final int getOrigIndex()
- Returns:
- index of register where variable was originally stored
-
getStartPC
public final int getStartPC()
- Returns:
- Start of range where he variable is valid
-
setConstantPool
public final void setConstantPool(ConstantPool constant_pool)
- Parameters:
constant_pool
- Constant pool to be used for this object.
-
setLength
public final void setLength(int length)
- Parameters:
length
- the length of this local variable
-
setNameIndex
public final void setNameIndex(int name_index)
- Parameters:
name_index
- the index into the constant pool for the name of this variable
-
setSignatureIndex
public final void setSignatureIndex(int signature_index)
- Parameters:
signature_index
- the index into the constant pool for the signature of this variable
-
setIndex
public final void setIndex(int index)
- Parameters:
index
- the index in the local variable table of this variable
-
setStartPC
public final void setStartPC(int start_pc)
- Parameters:
start_pc
- Specify range where the local variable is valid.
-
toString
public final java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
- Returns:
- string representation.
-
copy
public LocalVariable copy()
- Returns:
- deep copy of this object
-
-