serp.bytecode
public class NameCache extends java.lang.Object
Constructor and Description |
---|
NameCache() |
Modifier and Type | Method and Description |
---|---|
void |
clear()
Clear the cache.
|
java.lang.String |
getComponentName(java.lang.String name)
Return the component type name for the given array type, or null
if the given string does not represent an array type name.
|
java.lang.String |
getDescriptor(java.lang.String returnType,
java.lang.String[] paramTypes)
Construct a method descriptor from the given return and parameter
types, which will be converted to internal form.
|
java.lang.String[] |
getDescriptorParamNames(java.lang.String descriptor)
Return the parameter types, in internal form, for the given method
descriptor string.
|
java.lang.String |
getDescriptorReturnName(java.lang.String descriptor)
Return the return type, in internal form, for the given method
descriptor string.
|
java.lang.String |
getExternalForm(java.lang.String internalName,
boolean humanReadable)
Given the internal name of the class, return the 'normal' java name.
|
java.lang.String |
getInternalForm(java.lang.String className,
boolean descriptor)
Converts the given class name to its internal form.
|
public java.lang.String getInternalForm(java.lang.String className, boolean descriptor)
className
- the name to convertdescriptor
- true if the name is to be used for a descriptor
section -- the difference seems to be that for
descriptors, non-primitives are prefixed with 'L' and ended with ';'public java.lang.String getExternalForm(java.lang.String internalName, boolean humanReadable)
internalName
- the internal name being usedhumanReadable
- if the returned name should be in human-readable
form, rather than a form suitable for a
Class.forName(java.lang.String)
call -- the difference
lies in the handling of arrayspublic java.lang.String getDescriptor(java.lang.String returnType, java.lang.String[] paramTypes)
public java.lang.String getDescriptorReturnName(java.lang.String descriptor)
public java.lang.String[] getDescriptorParamNames(java.lang.String descriptor)
public java.lang.String getComponentName(java.lang.String name)
Class.forName(java.lang.String)
form.public void clear()