org.aspectj.apache.bcel.generic
Class InstructionLV

java.lang.Object
  extended by org.aspectj.apache.bcel.generic.Instruction
      extended by org.aspectj.apache.bcel.generic.InstructionLV
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, Constants
Direct Known Subclasses:
IINC, InstructionCLV

public class InstructionLV
extends Instruction

Abstract super class for instructions dealing with local variables.

See Also:
Serialized Form

Field Summary
protected  int lvar
           
 
Fields inherited from class org.aspectj.apache.bcel.generic.Instruction
opcode
 
Fields inherited from interface org.aspectj.apache.bcel.Constants
_unused, 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_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_BOOTSTRAPMETHODS, ATTR_CODE, ATTR_CONSTANT_VALUE, ATTR_DEPRECATED, ATTR_ENCLOSING_METHOD, ATTR_EXCEPTIONS, ATTR_INNER_CLASSES, ATTR_LINE_NUMBER_TABLE, ATTR_LOCAL_VARIABLE_TABLE, ATTR_LOCAL_VARIABLE_TYPE_TABLE, ATTR_PMG, ATTR_RUNTIME_INVISIBLE_ANNOTATIONS, ATTR_RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS, ATTR_RUNTIME_VISIBLE_ANNOTATIONS, ATTR_RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS, ATTR_SIGNATURE, ATTR_SOURCE_FILE, ATTR_STACK_MAP, ATTR_SYNTHETIC, ATTR_UNKNOWN, ATTRIBUTE_NAMES, BALOAD, BASTORE, BIPUSH, BRANCH_INSTRUCTION, BREAKPOINT, CALOAD, CASTORE, CHECKCAST, CHECKCAST_QUICK, CLASS_TYPE_NAMES, CONSTANT_Class, CONSTANT_Double, CONSTANT_Fieldref, CONSTANT_Float, CONSTANT_INST, CONSTANT_Integer, CONSTANT_InterfaceMethodref, CONSTANT_InvokeDynamic, CONSTANT_Long, CONSTANT_MethodHandle, CONSTANT_Methodref, CONSTANT_MethodType, CONSTANT_NameAndType, CONSTANT_NAMES, CONSTANT_String, CONSTANT_Utf8, CONSTRUCTOR_NAME, CONSUME_STACK, CP_INST, 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, EXCEPTION_THROWER, 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, IF_INST, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, iLen, ILLEGAL_OPCODE, ILLEGAL_TYPE, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMPDEP1, IMPDEP2, IMUL, INDEXED, INEG, INSTANCEOF, INSTANCEOF_QUICK, instExcs, instFlags, 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_INSTRUCTION, 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, LOAD_INST, LOADCLASS_INST, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LV_INST, LXOR, MAJOR, MAJOR_1_1, MAJOR_1_2, MAJOR_1_3, MAJOR_1_4, MAJOR_1_5, MAJOR_1_6, 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, MINOR_1_6, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, MULTIANEWARRAY_QUICK, NEGATABLE, NEW, NEW_QUICK, NEWARRAY, NOP, OPCODE_NAMES, POP, POP_INST, POP2, PUSH, PUSH_INST, PUTFIELD, PUTFIELD_QUICK, PUTFIELD_QUICK_W, PUTFIELD2_QUICK, PUTSTATIC, PUTSTATIC_QUICK, PUTSTATIC2_QUICK, RESERVED, RET, RET_INST, RETURN, SALOAD, SASTORE, SHORT_TYPE_NAMES, SIPUSH, STACK_INST, stackEntriesProduced, STATIC_INITIALIZER_NAME, STORE_INST, 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, TARGETER_INSTRUCTION, TYPE_NAMES, TYPE_OF_OPERANDS, types, UNDEFINED, UNDEFINED_LENGTH, UNPREDICTABLE, VARIABLE_LENGTH, WIDE
 
Constructor Summary
InstructionLV(short opcode)
           
InstructionLV(short opcode, int lvar)
           
 
Method Summary
 boolean canSetIndex()
           
 void dump(java.io.DataOutputStream out)
           
 boolean equals(java.lang.Object other)
           
 int getBaseOpcode()
           
 int getIndex()
           
 int getLength()
           
 int hashCode()
           
 boolean isALOAD()
           
 boolean isASTORE()
           
 void setIndex(int i)
           
 InstructionLV setIndexAndCopyIfNecessary(int newIndex)
           
 java.lang.String toString(boolean verbose)
          Long output format: 'name of opcode' "[" 'opcode number' "]" "(" 'length of instruction' ")" "<" 'local variable index' ">"
 
Methods inherited from class org.aspectj.apache.bcel.generic.Instruction
consumeStack, copy, getLoadClassType, getName, getOpcode, getType, getType, getValue, getValue, isArrayCreationInstruction, isConstantInstruction, isConstantPoolInstruction, isIndexedInstruction, isJsrInstruction, isLoadInstruction, isLocalVariableInstruction, isReturnInstruction, isStackConsumer, isStackProducer, isStoreInstruction, produceStack, readInstruction, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

lvar

protected int lvar
Constructor Detail

InstructionLV

public InstructionLV(short opcode,
                     int lvar)

InstructionLV

public InstructionLV(short opcode)
Method Detail

dump

public void dump(java.io.DataOutputStream out)
          throws java.io.IOException
Overrides:
dump in class Instruction
Throws:
java.io.IOException

toString

public java.lang.String toString(boolean verbose)
Long output format: 'name of opcode' "[" 'opcode number' "]" "(" 'length of instruction' ")" "<" 'local variable index' ">"

Overrides:
toString in class Instruction

isALOAD

public boolean isALOAD()
Overrides:
isALOAD in class Instruction

isASTORE

public boolean isASTORE()
Overrides:
isASTORE in class Instruction

getBaseOpcode

public int getBaseOpcode()

getIndex

public final int getIndex()
Overrides:
getIndex in class Instruction
Returns:
local variable index referred by this instruction.

setIndex

public void setIndex(int i)
Overrides:
setIndex in class Instruction

canSetIndex

public boolean canSetIndex()

setIndexAndCopyIfNecessary

public InstructionLV setIndexAndCopyIfNecessary(int newIndex)

getLength

public int getLength()
Overrides:
getLength in class Instruction

equals

public boolean equals(java.lang.Object other)
Overrides:
equals in class Instruction

hashCode

public int hashCode()
Overrides:
hashCode in class Instruction