Package org.aspectj.apache.bcel.generic
Klasse Instruction
java.lang.Object
org.aspectj.apache.bcel.generic.Instruction
- Alle implementierten Schnittstellen:
Serializable,Cloneable,Constants
- Bekannte direkte Unterklassen:
InstructionBranch,InstructionByte,InstructionCP,InstructionLV,InstructionShort,RET
Abstract super class for all Java byte codes.
- Version:
- $Id: Instruction.java,v 1.10 2011/04/05 15:15:33 aclement Exp $
- Autor:
- M. Dahm
- Siehe auch:
-
Feldübersicht
FelderVon Schnittstelle geerbte Felder 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, MAJOR_19, MAJOR_20, MAJOR_21, 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, MINOR_19, MINOR_20, MINOR_21, 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 -
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungintconsumeStack(ConstantPool cpg) final Instructioncopy()Use with caution, since 'BranchInstruction's have a 'target' reference which is not copied correctly (only basic types are).voiddump(DataOutputStream out) booleanintgetIndex()intgetName()shortgetType()getType(ConstantPool cp) getValue()getValue(ConstantPool cpg) inthashCode()booleanisALOAD()booleanbooleanisASTORE()booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanintproduceStack(ConstantPool cpg) static final InstructionreadInstruction(ByteSequence bytes) Read an instruction bytecode from an input stream and return the appropriate object.voidsetIndex(int i) toString()toString(boolean verbose) Long output format: 'name of opcode' "[" 'opcode number' "]" "(" 'length of instruction' ")"
-
Felddetails
-
opcode
public short opcode
-
-
Konstruktordetails
-
Instruction
public Instruction(short opcode)
-
-
Methodendetails
-
dump
- Löst aus:
IOException
-
getName
-
copy
Use with caution, since 'BranchInstruction's have a 'target' reference which is not copied correctly (only basic types are). This also applies for 'Select' instructions with their multiple branch targets.- Gibt zurück:
- (shallow) copy of an instruction
-
readInstruction
Read an instruction bytecode from an input stream and return the appropriate object.- Parameter:
file- file to read from- Gibt zurück:
- instruction object being read
- Löst aus:
IOException
-
consumeStack
- Gibt zurück:
- Number of words consumed from stack by this instruction, or Constants.UNPREDICTABLE, if this can not be computed statically
-
produceStack
- Gibt zurück:
- Number of words produced onto stack by this instruction, or Constants.UNPREDICTABLE, if this can not be computed statically
-
getOpcode
public short getOpcode() -
getLength
public int getLength() -
equals
-
hashCode
public int hashCode() -
getType
-
getType
-
getValue
-
getIndex
public int getIndex() -
setIndex
public void setIndex(int i) -
getValue
-
isLoadInstruction
public boolean isLoadInstruction() -
isASTORE
public boolean isASTORE() -
isALOAD
public boolean isALOAD() -
isStoreInstruction
public boolean isStoreInstruction() -
isJsrInstruction
public boolean isJsrInstruction() -
isConstantInstruction
public boolean isConstantInstruction() -
isConstantPoolInstruction
public boolean isConstantPoolInstruction() -
isStackProducer
public boolean isStackProducer() -
isStackConsumer
public boolean isStackConsumer() -
isIndexedInstruction
public boolean isIndexedInstruction() -
isArrayCreationInstruction
public boolean isArrayCreationInstruction() -
getLoadClassType
-
isReturnInstruction
public boolean isReturnInstruction() -
isLocalVariableInstruction
public boolean isLocalVariableInstruction() -
toString
Long output format: 'name of opcode' "[" 'opcode number' "]" "(" 'length of instruction' ")" -
toString
-