Class Descriptor
java.lang.Object
com.sun.jdo.api.persistence.enhancer.classfile.Descriptor
- All Implemented Interfaces:
VMConstants
A collection of static methods which manipulate type descriptors
-
Field Summary
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 -
Method Summary
Modifier and TypeMethodDescriptionstatic voidcomputeStackTypes(String stackSig, Stack stack) stackSig is a signature for a list of types on the JVM stack with the last type in the signature intended to be on the top of JVM stack.static intcountFieldWords(String sig) Return the number of words of a field based on its signature.static intReturn the number of words of arguments to the method based on the method signaturestatic intReturn the number of words of return value for the method based on the method signaturestatic StringelementSig(int valueType) Return the element type descriptor char for the element type.static intelementSize(int elementType) Return the number of stack words required for a value of the specified type on the operand stack.static intelementType(String sig) Return the element type for the first char in the type descriptor string.static StringextractArgSig(String methodSig) Return the stack descriptor for the arguments to a method invocation (not including any "this" argument)static StringextractResultSig(String methodSig) Return the stack descriptor for the result of a method invocation.static StringextractReversedArgSig(String methodSig) Return the reversed stack descriptor for the arguments to a method invocation (not including any "this" argument).static intnextSigElement(String stackSig, int idx) stackSig is a signature for the types on the stack with the last type in the signature on the top of stack.static StringremapTypes(String sig, Map classTranslations) classTranslations contains a set of mappings of class names.static StringtranslateClass(String cls, Map classTranslations) classTranslations contains a set of mappings of class names.static StringuserFieldSig(String vmSig) Translates a VM type field signature into a user-format signature.static StringuserFieldSig(String vmSig, int idx) Translates a VM type field signature into a user-format signature.static StringuserMethodArgs(String methodSig) Produce a user consumable representation of a method argument list from the method signature.
-
Constructor Details
-
Descriptor
public Descriptor()
-
-
Method Details
-
countMethodArgWords
Return the number of words of arguments to the method based on the method signature -
countMethodReturnWords
Return the number of words of return value for the method based on the method signature -
extractResultSig
Return the stack descriptor for the result of a method invocation. Void return values yield "V". -
extractArgSig
Return the stack descriptor for the arguments to a method invocation (not including any "this" argument) -
extractReversedArgSig
Return the reversed stack descriptor for the arguments to a method invocation (not including any "this" argument). The top of stack element will be first. -
countFieldWords
Return the number of words of a field based on its signature. -
elementType
Return the element type for the first char in the type descriptor string. -
elementSig
Return the element type descriptor char for the element type. The element type must be one of the T_ or TC_OBJECT. -
elementSize
public static int elementSize(int elementType) Return the number of stack words required for a value of the specified type on the operand stack. -
computeStackTypes
stackSig is a signature for a list of types on the JVM stack with the last type in the signature intended to be on the top of JVM stack. For each type in the signature, pushes an Integer objects identifying the types on top of the input Stack object. -
nextSigElement
stackSig is a signature for the types on the stack with the last type in the signature on the top of stack. idx is the index of the start of a valid signature type element. Return the index of the next element (which may be past the end of the string). -
remapTypes
classTranslations contains a set of mappings of class names. For any types within the input signature which appear as keys in the translation table, change the signature to replace the original type with the translation. Return a string containing the original signature with any translations applied. -
translateClass
classTranslations contains a set of mappings of class names. Translate the class name (which may be an array class) according to the entries in the translation table. Return either the original string if no translation applies or else the translated string. -
userFieldSig
Translates a VM type field signature into a user-format signature. Just a front for the two argument overload of this method. -
userFieldSig
Translates a VM type field signature into a user-format signature. -
userMethodArgs
Produce a user consumable representation of a method argument list from the method signature. The return value is ignored.
-