bcel API: Class LocalVariable
org.apache.bcel.classfile
Class LocalVariable
java.lang.Object
|
+--org.apache.bcel.classfile.LocalVariable
All Implemented Interfaces: java.lang.Cloneable, Constants , Node
public final class LocalVariable extends java.lang.Objectimplements Constants , java.lang.Cloneable, Node
This class represents a local variable within a method. It contains its
scope, name, signature and index on the method's frame.
Version: $Id: LocalVariable.java,v 1.1.1.1 2001/10/29 20:00:02 jvanzyl Exp $
Author: M. Dahm
See Also: LocalVariableTable
Fields inherited from interface org.apache.bcel.Constants
AALOAD , AASTORE , ACC_ABSTRACT , ACC_FINAL , ACC_INTERFACE , ACC_NATIVE , ACC_PRIVATE , ACC_PROTECTED , ACC_PUBLIC , ACC_STATIC , ACC_STRICT , ACC_SUPER , ACC_SYNCHRONIZED , ACC_TRANSIENT , 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_CODE , ATTR_CONSTANT_VALUE , ATTR_DEPRECATED , ATTR_EXCEPTIONS , ATTR_INNER_CLASSES , ATTR_LINE_NUMBER_TABLE , ATTR_LOCAL_VARIABLE_TABLE , ATTR_PMG , ATTR_SIGNATURE , ATTR_SOURCE_FILE , ATTR_STACK_MAP , ATTR_SYNTHETIC , ATTR_UNKNOWN , ATTRIBUTE_NAMES , BALOAD , BASTORE , BIPUSH , BREAKPOINT , CALOAD , CASTORE , CHECKCAST , CHECKCAST_QUICK , 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 , 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 , MAX_ACC_FLAG , MAX_BYTE , MAX_CODE_SIZE , MAX_CP_ENTRIES , MAX_SHORT , MINOR , MINOR_1_1 , MINOR_1_2 , MINOR_1_3 , 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
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
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
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.
Specified by: accept
in interface Node
Parameters: v
- Visitor object
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
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
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.
-
setNameIndex
public final void setNameIndex (int name_index)
Parameters: name_index.
-
setSignatureIndex
public final void setSignatureIndex (int signature_index)
Parameters: signature_index.
-
setIndex
public final void setIndex (int index)
Parameters: index.
-
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 class java.lang.Object
Returns: string representation.
copy
public LocalVariable copy ()
Returns: deep copy of this object