Class CodeAttribute
- java.lang.Object
-
- com.sun.jdo.api.persistence.enhancer.classfile.ClassAttribute
-
- com.sun.jdo.api.persistence.enhancer.classfile.CodeAttribute
-
- All Implemented Interfaces:
VMConstants
public class CodeAttribute extends ClassAttribute
Subtype of ClassAttribute which describes the "Code" attribute associated with a method.
-
-
Field Summary
Fields Modifier and Type Field Description static String
expectedAttrName
-
Fields inherited from interface com.sun.jdo.api.persistence.enhancer.classfile.VMConstants
ACCAbstract, ACCFinal, ACCInterface, ACCNative, ACCPrivate, ACCProtected, ACCPublic, ACCStatic, ACCSuper, ACCSynchronized, ACCTransient, ACCVolatile, CONSTANTClass, CONSTANTDouble, CONSTANTFieldRef, CONSTANTFloat, CONSTANTInteger, CONSTANTInterfaceMethodRef, CONSTANTLong, CONSTANTMethodRef, CONSTANTNameAndType, CONSTANTString, CONSTANTUnicode, CONSTANTUtf8, opc_aaload, opc_aastore, opc_aconst_null, opc_aload, opc_aload_0, opc_aload_1, opc_aload_2, opc_aload_3, opc_anewarray, opc_areturn, opc_arraylength, opc_astore, opc_astore_0, opc_astore_1, opc_astore_2, opc_astore_3, opc_athrow, opc_baload, opc_bastore, opc_bipush, opc_caload, opc_castore, opc_checkcast, opc_d2f, opc_d2i, opc_d2l, opc_dadd, opc_daload, opc_dastore, opc_dcmpg, opc_dcmpl, opc_dconst_0, opc_dconst_1, opc_ddiv, opc_dload, opc_dload_0, opc_dload_1, opc_dload_2, opc_dload_3, opc_dmul, opc_dneg, opc_drem, opc_dreturn, opc_dstore, opc_dstore_0, opc_dstore_1, opc_dstore_2, opc_dstore_3, opc_dsub, opc_dup, opc_dup_x1, opc_dup_x2, opc_dup2, opc_dup2_x1, opc_dup2_x2, opc_f2d, opc_f2i, opc_f2l, opc_fadd, opc_faload, opc_fastore, opc_fcmpg, opc_fcmpl, opc_fconst_0, opc_fconst_1, opc_fconst_2, opc_fdiv, opc_fload, opc_fload_0, opc_fload_1, opc_fload_2, opc_fload_3, opc_fmul, opc_fneg, opc_frem, opc_freturn, opc_fstore, opc_fstore_0, opc_fstore_1, opc_fstore_2, opc_fstore_3, opc_fsub, opc_getfield, opc_getstatic, opc_goto, opc_goto_w, opc_i2b, opc_i2c, opc_i2d, opc_i2f, opc_i2l, opc_i2s, opc_iadd, opc_iaload, opc_iand, opc_iastore, opc_iconst_0, opc_iconst_1, opc_iconst_2, opc_iconst_3, opc_iconst_4, opc_iconst_5, opc_iconst_m1, opc_idiv, opc_if_acmpeq, opc_if_acmpne, opc_if_icmpeq, opc_if_icmpge, opc_if_icmpgt, opc_if_icmple, opc_if_icmplt, opc_if_icmpne, opc_ifeq, opc_ifge, opc_ifgt, opc_ifle, opc_iflt, opc_ifne, opc_ifnonnull, opc_ifnull, opc_iinc, opc_iload, opc_iload_0, opc_iload_1, opc_iload_2, opc_iload_3, opc_imul, opc_ineg, opc_instanceof, opc_invokeinterface, opc_invokespecial, opc_invokestatic, opc_invokevirtual, opc_ior, opc_irem, opc_ireturn, opc_ishl, opc_ishr, opc_istore, opc_istore_0, opc_istore_1, opc_istore_2, opc_istore_3, opc_isub, opc_iushr, opc_ixor, opc_jsr, opc_jsr_w, opc_l2d, opc_l2f, opc_l2i, opc_ladd, opc_laload, opc_land, opc_lastore, opc_lcmp, opc_lconst_0, opc_lconst_1, opc_ldc, opc_ldc_w, opc_ldc2_w, opc_ldiv, opc_lload, opc_lload_0, opc_lload_1, opc_lload_2, opc_lload_3, opc_lmul, opc_lneg, opc_lookupswitch, opc_lor, opc_lrem, opc_lreturn, opc_lshl, opc_lshr, opc_lstore, opc_lstore_0, opc_lstore_1, opc_lstore_2, opc_lstore_3, opc_lsub, opc_lushr, opc_lxor, opc_monitorenter, opc_monitorexit, opc_multianewarray, opc_new, opc_newarray, opc_nop, opc_pop, opc_pop2, opc_putfield, opc_putstatic, opc_ret, opc_return, opc_saload, opc_sastore, opc_sipush, opc_swap, opc_tableswitch, opc_wide, opc_xxxunusedxxx, T_BOOLEAN, T_BYTE, T_CHAR, T_DOUBLE, T_FLOAT, T_INT, T_LONG, T_SHORT, T_TWOWORD, T_UNKNOWN, T_WORD, TC_INTERFACE, TC_OBJECT, TC_STRING
-
-
Constructor Summary
Constructors Constructor Description CodeAttribute(ConstUtf8 attrName, byte[] dataBytes, com.sun.jdo.api.persistence.enhancer.classfile.CodeEnv codeEnv)
Constructs a CodeAttribute object for later disassemblyCodeAttribute(ConstUtf8 attrName, int maxStack, int maxLocals, Insn code, byte[] codeBytes, ExceptionTable excTable, AttributeVector codeAttrs, com.sun.jdo.api.persistence.enhancer.classfile.CodeEnv codeEnv)
Constructs a CodeAttribute objectCodeAttribute(ConstUtf8 attrName, int maxStack, int maxLocals, Insn code, ExceptionTable excTable, AttributeVector codeAttrs)
Constructs a CodeAttribute object for construction from scratch
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description AttributeVector
attributes()
Return the attributes which apply to this codebyte[]
byteCodes()
Return the java VM byte code sequence for this method - null for native and abstract methodsExceptionTable
exceptionHandlers()
Return the exception ranges and handlers which apply to the code in this method.int
localsUsed()
Return the maximum number of local variables used by this methodvoid
setLocalsUsed(int used)
Set the maximum number of local variables used by this methodvoid
setStackUsed(int used)
Set the maximum number of stack entries used by this methodvoid
setTheCode(Insn insn)
Install the instruction sequence for this method - the byte code array is later updated.int
stackUsed()
Return the maximum number of stack entries used by this methodInsn
theCode()
Return the instruction sequence for this method - initially derived from the byte code array, but may later be modified-
Methods inherited from class com.sun.jdo.api.persistence.enhancer.classfile.ClassAttribute
attrName
-
-
-
-
Field Detail
-
expectedAttrName
public static final String expectedAttrName
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
CodeAttribute
public CodeAttribute(ConstUtf8 attrName, int maxStack, int maxLocals, Insn code, ExceptionTable excTable, AttributeVector codeAttrs)
Constructs a CodeAttribute object for construction from scratch
-
CodeAttribute
public CodeAttribute(ConstUtf8 attrName, int maxStack, int maxLocals, Insn code, byte[] codeBytes, ExceptionTable excTable, AttributeVector codeAttrs, com.sun.jdo.api.persistence.enhancer.classfile.CodeEnv codeEnv)
Constructs a CodeAttribute object
-
CodeAttribute
public CodeAttribute(ConstUtf8 attrName, byte[] dataBytes, com.sun.jdo.api.persistence.enhancer.classfile.CodeEnv codeEnv)
Constructs a CodeAttribute object for later disassembly
-
-
Method Detail
-
stackUsed
public int stackUsed()
Return the maximum number of stack entries used by this method
-
setStackUsed
public void setStackUsed(int used)
Set the maximum number of stack entries used by this method
-
localsUsed
public int localsUsed()
Return the maximum number of local variables used by this method
-
setLocalsUsed
public void setLocalsUsed(int used)
Set the maximum number of local variables used by this method
-
byteCodes
public byte[] byteCodes()
Return the java VM byte code sequence for this method - null for native and abstract methods
-
theCode
public Insn theCode()
Return the instruction sequence for this method - initially derived from the byte code array, but may later be modified
-
setTheCode
public void setTheCode(Insn insn)
Install the instruction sequence for this method - the byte code array is later updated.
-
exceptionHandlers
public ExceptionTable exceptionHandlers()
Return the exception ranges and handlers which apply to the code in this method.
-
attributes
public AttributeVector attributes()
Return the attributes which apply to this code
-
-