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, java.io.Serializable, TypedInstruction

public class IINC
extends LocalVariableInstruction

IINC - Increment local variable by constant

Version:
$Id: IINC.java,v 1.2 2002/03/12 09:24:01 mdahm Exp $
Author:
M. Dahm
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.apache.bcel.generic.LocalVariableInstruction
n
 
Fields inherited from class org.apache.bcel.generic.Instruction
length, opcode
 
Constructor Summary
IINC(int n, int c)
           
 
Method Summary
 void accept(Visitor v)
          Call corresponding visitor method(s).
 void dump(java.io.DataOutputStream out)
          Dump instruction as byte code to stream out.
 int getIncrement()
           
 Type getType(ConstantPoolGen cp)
          Returns the type associated with the instruction - in case of ALOAD or ASTORE Type.OBJECT is returned.
protected  void initFromFile(ByteSequence bytes, boolean wide)
          Read needed data (e.g. index) from file.
 void setIncrement(int c)
          Set increment factor.
 void setIndex(int n)
          Set index of local variable.
 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.apache.bcel.generic.LocalVariableInstruction
getCanonicalTag, getIndex
 
Methods inherited from class org.apache.bcel.generic.Instruction
consumeStack, copy, equals, getComparator, getLength, getName, getOpcode, produceStack, readInstruction, setComparator, toString, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IINC

public IINC(int n,
            int c)
Parameters:
n - index of local variable
c - increment factor
Method Detail

dump

public void dump(java.io.DataOutputStream out)
          throws java.io.IOException
Dump instruction as byte code to stream out.

Overrides:
dump in class LocalVariableInstruction
Parameters:
out - Output stream
java.io.IOException

initFromFile

protected void initFromFile(ByteSequence bytes,
                            boolean wide)
                     throws java.io.IOException
Read needed data (e.g. index) from file.

Overrides:
initFromFile in class LocalVariableInstruction
Parameters:
bytes - byte sequence to read from
wide - "wide" instruction flag
java.io.IOException

toString

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

Overrides:
toString in class LocalVariableInstruction
Parameters:
verbose - long/short format switch
Returns:
mnemonic for instruction

setIndex

public final void setIndex(int n)
Set index of local variable.

Specified by:
setIndex in interface IndexedInstruction
Overrides:
setIndex in class LocalVariableInstruction

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: LocalVariableInstruction
Returns 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:
getType in interface TypedInstruction
Overrides:
getType in class LocalVariableInstruction
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:
accept in class Instruction
Parameters:
v - Visitor object


Copyright © 2002-2003 Apache Software Foundation. All Rights Reserved.