de.fub.bytecode.generic
Class IINC
java.lang.Object
|
+--de.fub.bytecode.generic.Instruction
|
+--de.fub.bytecode.generic.LocalVariableInstruction
|
+--de.fub.bytecode.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.12 2001/08/28 10:28:19 dahm Exp $
- Author:
- M. Dahm
- See Also:
- Serialized Form
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. |
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 de.fub.bytecode.generic.Instruction |
consumeStack, consumeStack, copy, getLength, getOpcode, getTag, produceStack, produceStack, readInstruction, toString, toString |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
IINC
public IINC(int n,
int c)
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
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
- Following copied from class:
de.fub.bytecode.generic.Instruction
- Parameters:
bytes
- byte sequence to read fromwide
- "wide" instruction flag
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
- Returns:
- mnemonic for instruction
setIndex
public final void setIndex(int n)
- Set index of local variable.
- 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 .
- 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.
- Overrides:
accept
in class Instruction
- Parameters:
v
- Visitor object