Class INVOKEINTERFACE
java.lang.Object
org.apache.bcel.generic.Instruction
org.apache.bcel.generic.CPInstruction
org.apache.bcel.generic.FieldOrMethod
org.apache.bcel.generic.InvokeInstruction
org.apache.bcel.generic.INVOKEINTERFACE
- All Implemented Interfaces:
Cloneable, ExceptionThrower, IndexedInstruction, LoadClass, StackConsumer, StackProducer, TypedInstruction
INVOKEINTERFACE - Invoke interface method
Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
- See Also:
-
Field Summary
Fields inherited from class CPInstruction
indexModifier 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
ConstructorsConstructorDescriptionINVOKEINTERFACE(int index, int nargs) Constructs an INVOKEINTERFACE instruction. -
Method Summary
Modifier and TypeMethodDescriptionvoidCall corresponding visitor method(s).intAlso works for instructions whose stack effect depends on the constant pool entry they reference.voiddump(DataOutputStream out) Dumps instruction as byte code to stream out.intgetCount()Gets the count argument according to the Java Language Specification, Second Edition.Class<?>[]Gets the exceptions that may be thrown by this instruction.protected voidinitFromFile(ByteSequence bytes, boolean wide) Reads needed data (that is, index) from file.toString(ConstantPool cp) Gets the mnemonic for instruction with symbolic references resolved.Methods inherited from class InvokeInstruction
getArgumentTypes, getClassName, getMethodName, getReturnType, getType, produceStackModifier and TypeMethodDescriptionType[]Gets the argument types of referenced method.Gets the name of the referenced class or interface.Gets the name of referenced method.Gets the return type of referenced method.getType(ConstantPoolGen cpg) Gets the return type of referenced method.intAlso works for instructions whose stack effect depends on the constant pool entry they reference.Methods inherited from class FieldOrMethod
getClassType, getLoadClassType, getName, getReferenceType, getSignatureModifier and TypeMethodDescriptionDeprecated.If the instruction references an array class, the ObjectType returned will be invalid.Gets the ObjectType of the method return or field.getName(ConstantPoolGen cpg) Gets the name of referenced method or field.Gets the reference type representing the class, interface, or array class referenced by the instruction.Gets the signature of referenced method or field.Methods inherited from class CPInstruction
getIndex, setIndex, toStringModifier and TypeMethodDescriptionfinal intgetIndex()Gets the constant pool index referred to by this instruction.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>">"Methods inherited from class Instruction
copy, equals, getComparator, getLength, getName, getOpcode, hashCode, isValidByte, isValidShort, readInstruction, setComparator, toStringModifier and TypeMethodDescriptioncopy()Use with caution, since 'BranchInstruction's have a 'target' reference which is not copied correctly (only basic types are).booleanTests for equality, delegated to comparatorstatic InstructionComparatorDeprecated.(6.0) use the built in comparator, or wrap this class in another object that implements these methodsintGets the length (in bytes) of instruction.getName()Gets the name of instruction, that is, opcode name.shortGets this instruction's opcode.inthashCode()Gets the hashCode of this object.static booleanisValidByte(int value) Tests if the value can fit in a byte (signed).static booleanisValidShort(int value) Tests if the value can fit in a short (signed).static InstructionreadInstruction(ByteSequence bytes) Reads an instruction from (byte code) input stream and return the appropriate object.static voidDeprecated.(6.0) use the built in comparator, or wrap this class in another object that implements these methodstoString()
-
Constructor Details
-
INVOKEINTERFACE
Constructs an INVOKEINTERFACE instruction.- Parameters:
index- index into constant pool.nargs- number of arguments.
-
-
Method Details
-
accept
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, that is, the most specific visitXXX() call comes last.- Specified by:
acceptin classInstruction- Parameters:
v- Visitor object.
-
consumeStack
Description copied from class:InvokeInstructionAlso works for instructions whose stack effect depends on the constant pool entry they reference.- Specified by:
consumeStackin interfaceStackConsumer- Overrides:
consumeStackin classInvokeInstruction- Parameters:
cpg- The constant pool generator.- Returns:
- Number of words consumed from stack by this instruction.
-
dump
Dumps instruction as byte code to stream out.- Overrides:
dumpin classCPInstruction- Parameters:
out- Output stream.- Throws:
IOException- Thrown when an I/O exception of some sort has occurred.
-
getCount
Gets the count argument according to the Java Language Specification, Second Edition.- Returns:
- The count argument.
-
getExceptions
Description copied from interface:ExceptionThrowerGets the exceptions that may be thrown by this instruction.- Returns:
- The exceptions that may be thrown by this instruction.
-
initFromFile
Reads needed data (that is, index) from file.- Overrides:
initFromFilein classCPInstruction- Parameters:
bytes- input stream.wide- wide prefix?.- Throws:
IOException- Thrown if the implementation needs to read data from the file
-
toString
Description copied from class:InstructionGets the mnemonic for instruction with symbolic references resolved.- Overrides:
toStringin classInvokeInstruction- Parameters:
cp- The constant pool.- Returns:
- mnemonic for instruction with symbolic references resolved.
-