org.apache.jdo.impl.enhancer.classfile
Class Descriptor
java.lang.Object
org.apache.jdo.impl.enhancer.classfile.Descriptor
- All Implemented Interfaces:
- VMConstants
public class Descriptor
- extends java.lang.Object
- implements VMConstants
A collection of static methods which manipulate type descriptors
Fields inherited from interface org.apache.jdo.impl.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 |
Method Summary |
static void |
computeStackTypes(java.lang.String stackSig,
java.util.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 int |
countFieldWords(java.lang.String sig)
Return the number of words of a field based on its signature. |
static int |
countMethodArgWords(java.lang.String sig)
Return the number of words of arguments to the method
based on the method signature |
static int |
countMethodReturnWords(java.lang.String sig)
Return the number of words of return value for the method
based on the method signature |
static java.lang.String |
elementSig(int valueType)
Return the element type descriptor char for the element type. |
static int |
elementSize(int elementType)
Return the number of stack words required for a value of the specified
type on the operand stack. |
static int |
elementType(java.lang.String sig)
Return the element type for the first char in the type descriptor string. |
static java.lang.String |
extractArgSig(java.lang.String methodSig)
Return the stack descriptor for the arguments to a method
invocation (not including any "this" argument) |
static java.lang.String |
extractResultSig(java.lang.String methodSig)
Return the stack descriptor for the result of a method
invocation. |
static java.lang.String |
extractReversedArgSig(java.lang.String methodSig)
Return the reversed stack descriptor for the arguments to a method
invocation (not including any "this" argument). |
static int |
nextSigElement(java.lang.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 java.lang.String |
remapTypes(java.lang.String sig,
java.util.Map classTranslations)
classTranslations contains a set of mappings of class names. |
static java.lang.String |
translateClass(java.lang.String cls,
java.util.Map classTranslations)
classTranslations contains a set of mappings of class names. |
static java.lang.String |
userFieldSig(java.lang.String vmSig)
Translates a VM type field signature into a user-format signature. |
static java.lang.String |
userFieldSig(java.lang.String vmSig,
int idx)
Translates a VM type field signature into a user-format signature. |
static java.lang.String |
userMethodArgs(java.lang.String methodSig)
Produce a user consumable representation of a method argument list
from the method signature. |
static java.lang.String |
userMethodResult(java.lang.String methodSig)
Produce a user consumable representation of a method result type
from the method signature. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Descriptor
public Descriptor()
countMethodArgWords
public static int countMethodArgWords(java.lang.String sig)
- Return the number of words of arguments to the method
based on the method signature
countMethodReturnWords
public static int countMethodReturnWords(java.lang.String sig)
- Return the number of words of return value for the method
based on the method signature
extractResultSig
public static java.lang.String extractResultSig(java.lang.String methodSig)
- Return the stack descriptor for the result of a method
invocation. Void return values yield "V".
extractArgSig
public static java.lang.String extractArgSig(java.lang.String methodSig)
- Return the stack descriptor for the arguments to a method
invocation (not including any "this" argument)
extractReversedArgSig
public static java.lang.String extractReversedArgSig(java.lang.String methodSig)
- 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
public static int countFieldWords(java.lang.String sig)
- Return the number of words of a field based on its signature.
elementType
public static int elementType(java.lang.String sig)
- Return the element type for the first char in the type descriptor string.
elementSig
public static java.lang.String elementSig(int valueType)
- 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
public static void computeStackTypes(java.lang.String stackSig,
java.util.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.
For each type in the signature, pushes an Integer objects identifying
the types on top of the input Stack object.
nextSigElement
public static int nextSigElement(java.lang.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. 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
public static java.lang.String remapTypes(java.lang.String sig,
java.util.Map classTranslations)
- 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
public static java.lang.String translateClass(java.lang.String cls,
java.util.Map classTranslations)
- 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
public static java.lang.String userFieldSig(java.lang.String vmSig)
- Translates a VM type field signature into a user-format signature.
Just a front for the two argument overload of this method.
userFieldSig
public static java.lang.String userFieldSig(java.lang.String vmSig,
int idx)
- Translates a VM type field signature into a user-format signature.
userMethodArgs
public static java.lang.String userMethodArgs(java.lang.String methodSig)
- Produce a user consumable representation of a method argument list
from the method signature. The return value is ignored.
userMethodResult
public static java.lang.String userMethodResult(java.lang.String methodSig)
- Produce a user consumable representation of a method result type
from the method signature. The argument list is ignored.
Copyright © 2005-2009 Apache Software Foundation. All Rights Reserved.