|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.vladium.jcd.lib.Types
Utility methods for manipulating type signatures and descriptors. TODO: fix usage of chars in parsers
Nested Class Summary | |
private static class |
Types.methodDescriptorCompiler
|
private static class |
Types.signatureCompiler
|
private static class |
Types.typeDescriptorCompiler
|
private static class |
Types.typeDescriptorCompiler2
|
Constructor Summary | |
Types()
|
Method Summary | |
static java.lang.String |
accessFlagsToString(int flags,
boolean isClass)
|
static java.lang.String[] |
descriptorToParameterTypes(java.lang.String methoddescriptor)
|
static java.lang.String |
descriptorToReturnType(java.lang.String methoddescriptor)
|
static java.lang.Class |
descriptorToType(java.lang.String typedescriptor)
Converts a VM descriptor to the corresponding type. |
static java.lang.String |
fullMethodDescriptorToFullUserName(java.lang.String classJavaName,
java.lang.String methodName,
java.lang.String methoddescriptor)
|
static java.lang.String |
fullMethodDescriptorToUserName(java.lang.String classJavaName,
java.lang.String methodName,
java.lang.String methoddescriptor)
|
static java.lang.String |
getClassPackageName(java.lang.Class c)
Returns 'c''s package name [does not include trailing '.'] or "" if 'c' is in the default package. |
static java.lang.String |
javaNameToVMName(java.lang.String javaName)
Converts Java-styled package/class name to how it would be represented in the VM. |
static java.lang.String |
methodDescriptorToUserName(java.lang.String methoddescriptor)
|
static java.lang.String |
signatureToDescriptor(java.lang.Class[] parameterTypes,
java.lang.Class returnType)
Converts a method signature (parameter types + return type) to its VM descriptor representation. |
static java.lang.String |
signatureToDescriptor(java.lang.reflect.Method method)
Converts a method signature to its VM descriptor representation. |
static java.lang.String |
signatureToMethodDescriptor(java.lang.String[] parameterTypeDescriptors,
java.lang.String returnTypeDescriptor)
|
private static java.lang.String |
simpleClassName(java.lang.String classJavaName)
|
static java.lang.String |
typeDescriptorToUserName(java.lang.String typedescriptor)
|
static java.lang.String |
typeToDescriptor(java.lang.Class type)
Converts a type (a Class) to its VM descriptor representation. |
static java.lang.String |
vmNameToJavaName(java.lang.String vmName)
Converts a VM-styled package/class name to how it would be represented in Java. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public Types()
Method Detail |
public static java.lang.String getClassPackageName(java.lang.Class c)
public static java.lang.String accessFlagsToString(int flags, boolean isClass)
public static java.lang.String javaNameToVMName(java.lang.String javaName)
Example:
javaNameToVMName("java.lang.Object") = "java/lang/Object"
vmNameToJavaName(java.lang.String)
public static java.lang.String vmNameToJavaName(java.lang.String vmName)
Example:
vmNameToJavaName("java/lang/Object") = "java.lang.Object"
javaNameToVMName(java.lang.String)
public static java.lang.String signatureToDescriptor(java.lang.reflect.Method method)
Example:
signatureToDescriptor(new Object().getClass().getMethod("equals" ,new Class[0])) = "(Ljava/lang/Object;)Z"
Equivalent to
signatureToDescriptor(method.getParameterTypes (), method.getReturnType ())
.
public static java.lang.String signatureToDescriptor(java.lang.Class[] parameterTypes, java.lang.Class returnType)
public static java.lang.String typeToDescriptor(java.lang.Class type)
Example:
typeToDescriptor(Object.class) = "Ljava/lang/Object;"
typeToDescriptor(boolean.class) = "Z"
Note the invariant typeToDescriptor(descriptorToType(desc)) == desc.
descriptorToType(java.lang.String)
public static java.lang.Class descriptorToType(java.lang.String typedescriptor) throws java.lang.ClassNotFoundException
Example:
descriptorToType("[[I") = int[][].class
descriptorToType("B") = byte.class
Note the invariant descriptorToType(typeToDescriptor(c)) == c.
java.lang.ClassNotFoundException
descriptorToType(java.lang.String)
public static java.lang.String descriptorToReturnType(java.lang.String methoddescriptor)
public static java.lang.String[] descriptorToParameterTypes(java.lang.String methoddescriptor)
public static java.lang.String signatureToMethodDescriptor(java.lang.String[] parameterTypeDescriptors, java.lang.String returnTypeDescriptor)
public static java.lang.String typeDescriptorToUserName(java.lang.String typedescriptor)
public static java.lang.String methodDescriptorToUserName(java.lang.String methoddescriptor)
public static java.lang.String fullMethodDescriptorToUserName(java.lang.String classJavaName, java.lang.String methodName, java.lang.String methoddescriptor)
public static java.lang.String fullMethodDescriptorToFullUserName(java.lang.String classJavaName, java.lang.String methodName, java.lang.String methoddescriptor)
private static java.lang.String simpleClassName(java.lang.String classJavaName)
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |