Package org.apache.bcel.generic
Class IINC
- java.lang.Object
-
- org.apache.bcel.generic.Instruction
-
- org.apache.bcel.generic.LocalVariableInstruction
-
- org.apache.bcel.generic.IINC
-
- All Implemented Interfaces:
java.lang.Cloneable,IndexedInstruction,TypedInstruction
public class IINC extends LocalVariableInstruction
IINC - Increment local variable by constant
-
-
Field Summary
Fields Modifier and Type Field Description private intcprivate booleanwide-
Fields inherited from class org.apache.bcel.generic.LocalVariableInstruction
n
-
Fields inherited from class org.apache.bcel.generic.Instruction
length, opcode
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(Visitor v)Call corresponding visitor method(s).voiddump(java.io.DataOutputStream out)Dump instruction as byte code to stream out.intgetIncrement()TypegetType(ConstantPoolGen cp)Returns the type associated with the instruction - in case of ALOAD or ASTORE Type.OBJECT is returned.protected voidinitFromFile(ByteSequence bytes, boolean wide)Read needed data (e.g.voidsetIncrement(int c)Set increment factor.voidsetIndex(int n)Set index of local variable.private voidsetWide()java.lang.StringtoString(boolean verbose)Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"< local variable index>">"-
Methods inherited from class org.apache.bcel.generic.LocalVariableInstruction
getCanonicalTag, getIndex, setIndexOnly
-
Methods inherited from class org.apache.bcel.generic.Instruction
consumeStack, copy, dispose, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, produceStack, readInstruction, setComparator, setLength, setOpcode, toString, toString
-
-
-
-
Method Detail
-
dump
public void dump(java.io.DataOutputStream out) throws java.io.IOExceptionDump instruction as byte code to stream out.- Overrides:
dumpin classLocalVariableInstruction- Parameters:
out- Output stream- Throws:
java.io.IOException
-
setWide
private void setWide()
-
initFromFile
protected void initFromFile(ByteSequence bytes, boolean wide) throws java.io.IOException
Read needed data (e.g. index) from file.- Overrides:
initFromFilein classLocalVariableInstruction- Parameters:
bytes- byte sequence to read fromwide- "wide" instruction flag- Throws:
java.io.IOException- may be thrown if the implementation needs to read data from the file
-
toString
public java.lang.String toString(boolean verbose)
Description copied from class:LocalVariableInstructionLong output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"< local variable index>">"- Overrides:
toStringin classLocalVariableInstruction- Parameters:
verbose- long/short format switch- Returns:
- mnemonic for instruction
-
setIndex
public final void setIndex(int n)
Set index of local variable.- Specified by:
setIndexin interfaceIndexedInstruction- Overrides:
setIndexin classLocalVariableInstruction- See Also:
LocalVariableInstruction.setIndexOnly(int)
-
getIncrement
public final int getIncrement()
- Returns:
- increment factor
-
setIncrement
public final void setIncrement(int c)
Set increment factor.
-
getType
public Type getType(ConstantPoolGen cp)
Description copied from class:LocalVariableInstructionReturns the type associated with the instruction - in case of ALOAD or ASTORE Type.OBJECT is returned. This is just a bit incorrect, because ALOAD and ASTORE may work on every ReferenceType (including Type.NULL) and ASTORE may even work on a ReturnaddressType .- Specified by:
getTypein interfaceTypedInstruction- Overrides:
getTypein classLocalVariableInstruction- Returns:
- int type
-
accept
public void accept(Visitor v)
Call 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, i.e., the most specific visitXXX() call comes last.- Specified by:
acceptin classInstruction- Parameters:
v- Visitor object
-
-