joeq.Compiler.BytecodeAnalysis
Class Bytecodes.LocalVariableInstruction
java.lang.Object
joeq.Compiler.BytecodeAnalysis.Bytecodes.Instruction
joeq.Compiler.BytecodeAnalysis.Bytecodes.LocalVariableInstruction
- All Implemented Interfaces:
- Serializable, Cloneable, Bytecodes.IndexedInstruction, Bytecodes.TypedInstruction
- Direct Known Subclasses:
- Bytecodes.IINC, Bytecodes.LoadInstruction, Bytecodes.StoreInstruction
- Enclosing interface:
- Bytecodes
public abstract static class Bytecodes.LocalVariableInstruction
- extends Bytecodes.Instruction
- implements Bytecodes.TypedInstruction, Bytecodes.IndexedInstruction
- See Also:
- Serialized Form
Field Summary |
protected int |
n
|
Method Summary |
void |
dump(DataOutputStream out)
Dump instruction as byte code to stream out. |
short |
getCanonicalTag()
|
int |
getIndex()
|
jq_Type |
getType()
Returns the type associated with the instruction -
in case of ALOAD or ASTORE Type.OBJECT is returned. |
protected void |
initFromFile(jq_ConstantPool cp,
jwutil.io.ByteSequence bytes,
boolean wide)
Read needed data (e.g. |
void |
setIndex(int n)
Set the local variable index |
String |
toString(boolean verbose)
Long output format:
<name of opcode> "["<opcode number>"]"
"("<length of instruction>")" "<"< local variable index>">" |
n
protected int n
Bytecodes.LocalVariableInstruction
protected Bytecodes.LocalVariableInstruction(short opcode,
short c_tag,
int n)
- Parameters:
opcode
- Instruction opcodec_tag
- Instruction number for compact version, ALOAD_0, e.g.n
- local variable index (unsigned short)
dump
public void dump(DataOutputStream out)
throws IOException
- Dump instruction as byte code to stream out.
- Overrides:
dump
in class Bytecodes.Instruction
- Parameters:
out
- Output stream
- Throws:
IOException
toString
public String toString(boolean verbose)
- Long output format:
<name of opcode> "["<opcode number>"]"
"("<length of instruction>")" "<"< local variable index>">"
- Overrides:
toString
in class Bytecodes.Instruction
- Parameters:
verbose
- long/short format switch
- Returns:
- mnemonic for instruction
initFromFile
protected void initFromFile(jq_ConstantPool cp,
jwutil.io.ByteSequence bytes,
boolean wide)
throws IOException
- Read needed data (e.g. index) from file.
PRE: (ILOAD <= tag <= ALOAD_3) || (ISTORE <= tag <= ASTORE_3)
- Overrides:
initFromFile
in class Bytecodes.Instruction
- Parameters:
cp
- constant pool of class we are readingbytes
- byte sequence to read fromwide
- "wide" instruction flag
- Throws:
IOException
getIndex
public final int getIndex()
- Specified by:
getIndex
in interface Bytecodes.IndexedInstruction
- Returns:
- local variable index referred by this instruction.
setIndex
public void setIndex(int n)
- Set the local variable index
- Specified by:
setIndex
in interface Bytecodes.IndexedInstruction
getCanonicalTag
public short getCanonicalTag()
- Returns:
- canonical tag for instruction, e.g., ALOAD for ALOAD_0
getType
public final jq_Type getType()
- 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 Bytecodes.TypedInstruction
- Returns:
- type associated with the instruction
Copyright © 2001-2008 John Whaley. All Rights Reserved.