Class CPInstruction
java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.CPInstruction
- All Implemented Interfaces:
Cloneable, IndexedInstruction, TypedInstruction
- Direct Known Subclasses:
ANEWARRAY, CHECKCAST, FieldOrMethod, INSTANCEOF, LDC, LDC2_W, MULTIANEWARRAY, NameSignatureInstruction, NEW
public abstract class CPInstruction
extends Instruction
implements TypedInstruction, IndexedInstruction
Abstract super class for instructions that use an index into the constant pool such as LDC, INVOKEVIRTUAL, etc.
- See Also:
-
Field Summary
FieldsModifier 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
ConstructorsModifierConstructorDescriptionprotectedCPInstruction(short opcode, int index) Constructs a CPInstruction. -
Method Summary
Modifier and TypeMethodDescriptionvoiddump(DataOutputStream out) Dumps instruction as byte code to stream out.final intgetIndex()Gets the index.getType(ConstantPoolGen cpg) Gets the type associated with this instruction.protected voidinitFromFile(ByteSequence bytes, boolean wide) Reads needed data (that is, index) from file.voidsetIndex(int index) Sets the index to constant pool.toString(boolean verbose) Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"< constant pool index>">"toString(ConstantPool cp) Gets the mnemonic for instruction with symbolic references resolved.Methods inherited from class Instruction
accept, consumeStack, copy, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, produceStack, readInstruction, setComparator, toString
-
Field Details
-
index
Deprecated.(since 6.0) will be made private; do not access directly, use getter/setter
-
-
Constructor Details
-
CPInstruction
Constructs a CPInstruction.- Parameters:
opcode- the opcode.index- to constant pool.
-
-
Method Details
-
dump
Dumps instruction as byte code to stream out.- Overrides:
dumpin classInstruction- Parameters:
out- Output stream.- Throws:
IOException- Thrown when an I/O exception of some sort has occurred.
-
getIndex
Description copied from interface:IndexedInstructionGets the index.- Specified by:
getIndexin interfaceIndexedInstruction- Returns:
- index in constant pool referred by this instruction.
-
getType
Description copied from interface:TypedInstructionGets the type associated with this instruction.- Specified by:
getTypein interfaceTypedInstruction- Parameters:
cpg- the constant pool generator.- Returns:
- type related with this instruction.
-
initFromFile
Reads needed data (that is, index) from file.- Overrides:
initFromFilein classInstruction- Parameters:
bytes- input stream.wide- wide prefix?.- Throws:
IOException- may be thrown if the implementation needs to read data from the file
-
setIndex
Sets the index to constant pool.- Specified by:
setIndexin interfaceIndexedInstruction- Parameters:
index- in constant pool.
-
toString
Long output format: <name of opcode> "["<opcode number>"]" "("<length of instruction>")" "<"< constant pool index>">"- Overrides:
toStringin classInstruction- Parameters:
verbose- long/short format switch.- Returns:
- mnemonic for instruction.
-
toString
Description copied from class:InstructionGets the mnemonic for instruction with symbolic references resolved.- Overrides:
toStringin classInstruction- Parameters:
cp- the constant pool.- Returns:
- mnemonic for instruction with symbolic references resolved.
-