Package org.aspectj.apache.bcel.generic
Class INVOKEINTERFACE
java.lang.Object
org.aspectj.apache.bcel.generic.Instruction
org.aspectj.apache.bcel.generic.InstructionCP
org.aspectj.apache.bcel.generic.FieldOrMethod
org.aspectj.apache.bcel.generic.InvokeInstruction
org.aspectj.apache.bcel.generic.INVOKEINTERFACE
- All Implemented Interfaces:
Serializable,Cloneable,Constants
INVOKEINTERFACE - Invoke interface method
Stack: ..., objectref, [arg1, [arg2 ...]] -> ...
- Version:
- $Id: INVOKEINTERFACE.java,v 1.4 2009/10/05 17:35:36 aclement Exp $
- Author:
- M. Dahm
- See Also:
-
Field Summary
Fields inherited from class org.aspectj.apache.bcel.generic.FieldOrMethod
name, signatureFields inherited from class org.aspectj.apache.bcel.generic.InstructionCP
indexFields inherited from class org.aspectj.apache.bcel.generic.Instruction
opcodeFields inherited from interface org.aspectj.apache.bcel.Constants
_unused, AALOAD, AASTORE, ACC_ABSTRACT, ACC_ANNOTATION, ACC_BRIDGE, ACC_ENUM, ACC_FINAL, ACC_INTERFACE, ACC_MODULE, ACC_NATIVE, ACC_PRIVATE, ACC_PROTECTED, ACC_PUBLIC, ACC_STATIC, ACC_STRICT, ACC_SUPER, ACC_SYNCHRONIZED, ACC_SYNTHETIC, ACC_TRANSIENT, ACC_VARARGS, ACC_VOLATILE, ACCESS_NAMES, ACONST_NULL, ALOAD, ALOAD_0, ALOAD_1, ALOAD_2, ALOAD_3, ANEWARRAY, ANEWARRAY_QUICK, ARETURN, ARRAYLENGTH, ASTORE, ASTORE_0, ASTORE_1, ASTORE_2, ASTORE_3, ATHROW, ATTR_ANNOTATION_DEFAULT, ATTR_BOOTSTRAPMETHODS, ATTR_CODE, ATTR_CONSTANT_VALUE, ATTR_DEPRECATED, ATTR_ENCLOSING_METHOD, ATTR_EXCEPTIONS, ATTR_INNER_CLASSES, ATTR_LINE_NUMBER_TABLE, ATTR_LOCAL_VARIABLE_TABLE, ATTR_LOCAL_VARIABLE_TYPE_TABLE, ATTR_METHOD_PARAMETERS, ATTR_MODULE, ATTR_MODULE_MAIN_CLASS, ATTR_MODULE_PACKAGES, ATTR_NEST_HOST, ATTR_NEST_MEMBERS, ATTR_PMG, ATTR_RUNTIME_INVISIBLE_ANNOTATIONS, ATTR_RUNTIME_INVISIBLE_PARAMETER_ANNOTATIONS, ATTR_RUNTIME_INVISIBLE_TYPE_ANNOTATIONS, ATTR_RUNTIME_VISIBLE_ANNOTATIONS, ATTR_RUNTIME_VISIBLE_PARAMETER_ANNOTATIONS, ATTR_RUNTIME_VISIBLE_TYPE_ANNOTATIONS, ATTR_SIGNATURE, ATTR_SOURCE_FILE, ATTR_STACK_MAP, ATTR_SYNTHETIC, ATTR_UNKNOWN, ATTRIBUTE_NAMES, BALOAD, BASTORE, BIPUSH, BRANCH_INSTRUCTION, BREAKPOINT, CALOAD, CASTORE, CHECKCAST, CHECKCAST_QUICK, CLASS_TYPE_NAMES, CONSTANT_Class, CONSTANT_Double, CONSTANT_Dynamic, CONSTANT_Fieldref, CONSTANT_Float, CONSTANT_INST, CONSTANT_Integer, CONSTANT_InterfaceMethodref, CONSTANT_InvokeDynamic, CONSTANT_Long, CONSTANT_MethodHandle, CONSTANT_Methodref, CONSTANT_MethodType, CONSTANT_Module, CONSTANT_NameAndType, CONSTANT_NAMES, CONSTANT_Package, CONSTANT_String, CONSTANT_Utf8, CONSTRUCTOR_NAME, CONSUME_STACK, CP_INST, D2F, D2I, D2L, DADD, DALOAD, DASTORE, DCMPG, DCMPL, DCONST_0, DCONST_1, DDIV, DLOAD, DLOAD_0, DLOAD_1, DLOAD_2, DLOAD_3, DMUL, DNEG, DREM, DRETURN, DSTORE, DSTORE_0, DSTORE_1, DSTORE_2, DSTORE_3, DSUB, DUP, DUP_X1, DUP_X2, DUP2, DUP2_X1, DUP2_X2, EXCEPTION_THROWER, F2D, F2I, F2L, FADD, FALOAD, FASTORE, FCMPG, FCMPL, FCONST_0, FCONST_1, FCONST_2, FDIV, FLOAD, FLOAD_0, FLOAD_1, FLOAD_2, FLOAD_3, FMUL, FNEG, FREM, FRETURN, FSTORE, FSTORE_0, FSTORE_1, FSTORE_2, FSTORE_3, FSUB, GETFIELD, GETFIELD_QUICK, GETFIELD_QUICK_W, GETFIELD2_QUICK, GETSTATIC, GETSTATIC_QUICK, GETSTATIC2_QUICK, GOTO, GOTO_W, I2B, I2C, I2D, I2F, I2L, I2S, IADD, IALOAD, IAND, IASTORE, ICONST_0, ICONST_1, ICONST_2, ICONST_3, ICONST_4, ICONST_5, ICONST_M1, IDIV, IF_ACMPEQ, IF_ACMPNE, IF_ICMPEQ, IF_ICMPGE, IF_ICMPGT, IF_ICMPLE, IF_ICMPLT, IF_ICMPNE, IF_INST, IFEQ, IFGE, IFGT, IFLE, IFLT, IFNE, IFNONNULL, IFNULL, IINC, iLen, ILLEGAL_OPCODE, ILLEGAL_TYPE, ILOAD, ILOAD_0, ILOAD_1, ILOAD_2, ILOAD_3, IMPDEP1, IMPDEP2, IMUL, INDEXED, INEG, INSTANCEOF, INSTANCEOF_QUICK, instExcs, instFlags, INT2BYTE, INT2CHAR, INT2SHORT, INTERFACES_IMPLEMENTED_BY_ARRAYS, INVOKEDYNAMIC, INVOKEINTERFACE, INVOKEINTERFACE_QUICK, INVOKENONVIRTUAL, INVOKENONVIRTUAL_QUICK, INVOKESPECIAL, INVOKESTATIC, INVOKESTATIC_QUICK, INVOKESUPER_QUICK, INVOKEVIRTUAL, INVOKEVIRTUAL_QUICK, INVOKEVIRTUAL_QUICK_W, INVOKEVIRTUALOBJECT_QUICK, IOR, IREM, IRETURN, ISHL, ISHR, ISTORE, ISTORE_0, ISTORE_1, ISTORE_2, ISTORE_3, ISUB, ITEM_Bogus, ITEM_Double, ITEM_Float, ITEM_InitObject, ITEM_Integer, ITEM_Long, ITEM_NAMES, ITEM_NewObject, ITEM_Null, ITEM_Object, IUSHR, IXOR, JSR, JSR_INSTRUCTION, JSR_W, KNOWN_ATTRIBUTES, L2D, L2F, L2I, LADD, LALOAD, LAND, LASTORE, LCMP, LCONST_0, LCONST_1, LDC, LDC_QUICK, LDC_W, LDC_W_QUICK, LDC2_W, LDC2_W_QUICK, LDIV, LLOAD, LLOAD_0, LLOAD_1, LLOAD_2, LLOAD_3, LMUL, LNEG, LOAD_INST, LOADCLASS_INST, LOOKUPSWITCH, LOR, LREM, LRETURN, LSHL, LSHR, LSTORE, LSTORE_0, LSTORE_1, LSTORE_2, LSTORE_3, LSUB, LUSHR, LV_INST, LXOR, MAJOR, MAJOR_1_1, MAJOR_1_2, MAJOR_1_3, MAJOR_1_4, MAJOR_1_5, MAJOR_1_6, MAJOR_1_7, MAJOR_1_8, MAJOR_1_9, MAJOR_10, MAJOR_11, MAJOR_12, MAJOR_13, MAJOR_14, MAJOR_15, MAJOR_16, MAJOR_17, MAJOR_18, MAX_ACC_FLAG, MAX_BYTE, MAX_CODE_SIZE, MAX_CP_ENTRIES, MAX_SHORT, MINOR, MINOR_1_1, MINOR_1_2, MINOR_1_3, MINOR_1_4, MINOR_1_5, MINOR_1_6, MINOR_1_7, MINOR_1_8, MINOR_1_9, MINOR_10, MINOR_11, MINOR_12, MINOR_13, MINOR_14, MINOR_15, MINOR_16, MINOR_17, MINOR_18, MODULE_ACC_MANDATED, MODULE_ACC_STATIC_PHASE, MODULE_ACC_SYNTHETIC, MODULE_ACC_TRANSITIVE, MONITORENTER, MONITOREXIT, MULTIANEWARRAY, MULTIANEWARRAY_QUICK, NEGATABLE, NEW, NEW_QUICK, NEWARRAY, NOP, OPCODE_NAMES, POP, POP_INST, POP2, PREVIEW_MINOR_VERSION, PUSH, PUSH_INST, PUTFIELD, PUTFIELD_QUICK, PUTFIELD_QUICK_W, PUTFIELD2_QUICK, PUTSTATIC, PUTSTATIC_QUICK, PUTSTATIC2_QUICK, RESERVED, RET, RET_INST, RETURN, SALOAD, SASTORE, SHORT_TYPE_NAMES, SIPUSH, STACK_INST, stackEntriesProduced, STATIC_INITIALIZER_NAME, STORE_INST, SWAP, SWITCH, T_ADDRESS, T_ARRAY, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_OBJECT, T_REFERENCE, T_SHORT, T_UNKNOWN, T_VOID, TABLESWITCH, TARGETER_INSTRUCTION, TYPE_NAMES, TYPE_OF_OPERANDS, types, UNDEFINED, UNDEFINED_LENGTH, UNPREDICTABLE, VARIABLE_LENGTH, WIDE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionintconsumeStack(ConstantPool cpg) Also works for instructions whose stack effect depends on the constant pool entry they reference.voiddump(DataOutputStream out) Dump instruction as byte code to stream out.booleanintgetCount()The count argument according to the Java Language Specification, Second Edition.inthashCode()toString(ConstantPool cp) Methods inherited from class org.aspectj.apache.bcel.generic.InvokeInstruction
getArgumentTypes, getMethodName, getReturnType, getType, produceStackMethods inherited from class org.aspectj.apache.bcel.generic.FieldOrMethod
getClassName, getClassType, getLoadClassType, getName, getSignatureMethods inherited from class org.aspectj.apache.bcel.generic.InstructionCP
getIndex, getLength, getValue, setIndex, toStringMethods inherited from class org.aspectj.apache.bcel.generic.Instruction
copy, getName, getOpcode, getType, getValue, isALOAD, isArrayCreationInstruction, isASTORE, isConstantInstruction, isConstantPoolInstruction, isIndexedInstruction, isJsrInstruction, isLoadInstruction, isLocalVariableInstruction, isReturnInstruction, isStackConsumer, isStackProducer, isStoreInstruction, readInstruction, toString
-
Constructor Details
-
INVOKEINTERFACE
public INVOKEINTERFACE(int index, int nargs, int zerobyte)
-
-
Method Details
-
dump
Dump instruction as byte code to stream out.- Overrides:
dumpin classInstructionCP- Parameters:
out- Output stream- Throws:
IOException
-
getCount
public int getCount()The count argument according to the Java Language Specification, Second Edition. -
toString
- Overrides:
toStringin classInvokeInstruction- Returns:
- mnemonic for instruction with symbolic references resolved
-
consumeStack
Description copied from class:InvokeInstructionAlso works for instructions whose stack effect depends on the constant pool entry they reference.- Overrides:
consumeStackin classInvokeInstruction- Returns:
- Number of words consumed from stack by this instruction
-
equals
- Overrides:
equalsin classInstructionCP
-
hashCode
public int hashCode()- Overrides:
hashCodein classInstructionCP
-