Class IINC
java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.LocalVariableInstruction
org.apache.bcel.generic.IINC
- All Implemented Interfaces:
Cloneable, IndexedInstruction, TypedInstruction
IINC - Increment local variable by constant
-
Field Summary
Fields inherited from class LocalVariableInstruction
nModifier and TypeFieldDescriptionprotected intDeprecated.(since 6.0) will be made private; do not access directly, use getter/setterFields inherited from class Instruction
length, opcode -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidCalls corresponding visitor method(s).voiddump(DataOutputStream out) Dumps instruction as byte code to stream out.final intGets the increment factor.Gets the int type.protected voidinitFromFile(ByteSequence bytes, boolean wide) Reads needed data (for example index) from file.final voidsetIncrement(int c) Sets increment factor.final voidsetIndex(int index) Sets the index of the local variable.toString(boolean verbose) Returns mnemonic for instruction.Methods inherited from class LocalVariableInstruction
getCanonicalTag, getIndexModifier and TypeMethodDescriptionshortGets the canonical tag for instruction, for example, ALOAD for ALOAD_0.final intgetIndex()Gets the local variable index (n) referred to by this instruction.Methods inherited from class Instruction
consumeStack, copy, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, produceStack, readInstruction, setComparator, toString, toStringModifier and TypeMethodDescriptionintThis method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.copy()Use with caution, since 'BranchInstruction's have a 'target' reference which is not copied correctly (only basic types are).booleanTests for equality, delegated to comparatorstatic InstructionComparatorDeprecated.(6.0) use the built in comparator, or wrap this class in another object that implements these methodsintGets the length (in bytes) of instruction.getName()Gets the name of instruction, that is, opcode name.shortGets this instruction's opcode.inthashCode()Gets the hashCode of this object.static booleanisValidByte(int value) Tests if the value can fit in a byte (signed).static booleanisValidShort(int value) Tests if the value can fit in a short (signed).intThis method also gives right results for instructions whose effect on the stack depends on the constant pool entry they reference.static InstructionreadInstruction(ByteSequence bytes) Reads an instruction from (byte code) input stream and return the appropriate object.static voidDeprecated.(6.0) use the built in comparator, or wrap this class in another object that implements these methodstoString()toString(ConstantPool cp) Gets the mnemonic for instruction with symbolic references resolved.
-
Constructor Details
-
IINC
Constructs an IINC instruction.- Parameters:
n- index of local variable.c- increment factor.
-
-
Method Details
-
accept
Calls corresponding visitor method(s). The order is: Call visitor methods of implemented interfaces first, then call methods according to the class hierarchy in descending order, that is, the most specific visitXXX() call comes last.- Specified by:
acceptin classInstruction- Parameters:
v- Visitor object.
-
dump
Dumps instruction as byte code to stream out.- Overrides:
dumpin classLocalVariableInstruction- Parameters:
out- Output stream.- Throws:
IOException- Thrown when an I/O exception of some sort has occurred.
-
getIncrement
-
getType
Gets the int type.- Specified by:
getTypein interfaceTypedInstruction- Overrides:
getTypein classLocalVariableInstruction- Parameters:
cp- The constant pool generator.- Returns:
- int type.
-
initFromFile
Reads needed data (for example index) from file.- Overrides:
initFromFilein classLocalVariableInstruction- Parameters:
bytes- byte sequence to read from.wide- "wide" instruction flag.- Throws:
IOException- Thrown if the implementation needs to read data from the file
-
setIncrement
Sets increment factor.- Parameters:
c- The increment factor.- Throws:
ClassGenException- Thrown if the increment is out of bounds.
-
setIndex
Sets the index of the local variable.- Specified by:
setIndexin interfaceIndexedInstruction- Overrides:
setIndexin classLocalVariableInstruction- Parameters:
index- index of local variable.- Throws:
ClassGenException- Thrown if index is out of bounds.- See Also:
-
toString
Returns mnemonic for instruction.- Overrides:
toStringin classLocalVariableInstruction- Parameters:
verbose- long/short format switch.- Returns:
- mnemonic for instruction.
-