public class StringStuff
extends java.lang.Object
| Constructor and Description |
|---|
StringStuff() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
classIsPrimitive(ImmutableByteArray name,
int start,
int length) |
static java.lang.String |
deployment2CanonicalDescriptorTypeString(java.lang.String dString)
Translate a type from a deployment descriptor string into the type expected for use in a method
descriptor
|
static java.lang.String |
deployment2CanonicalTypeString(java.lang.String dString)
Translate a type from a deployment descriptor string into the internal JVM format
|
static java.lang.String |
dollarToDot(java.lang.String path)
Convert '$' to '.' in names.
|
static java.lang.String |
dotToDollar(java.lang.String path)
Convert '.' to '$' in names.
|
static boolean |
isTypeCodeChar(ImmutableByteArray name,
int i) |
static java.lang.String |
jvmToBinaryName(java.lang.String jvmType)
Convert a JVM encoded type name to a binary type name.
|
static java.lang.String |
jvmToReadableType(java.lang.String jvmType)
Convert a JVM encoded type name to a readable type name.
|
static MethodReference |
makeMethodReference(Language l,
java.lang.String methodSig) |
static MethodReference |
makeMethodReference(java.lang.String methodSig) |
static void |
padWithSpaces(java.lang.StringBuilder b,
int length) |
static int |
parseForArrayDimensionality(ImmutableByteArray b,
int start,
int length)
Parse an array descriptor to obtain number of dimensions in corresponding array type.
|
static ImmutableByteArray |
parseForClass(ImmutableByteArray name)
Given that name[start:start+length] is a Type name in JVM format, strip the package and return
the "package-free" class name
|
static ImmutableByteArray |
parseForClass(ImmutableByteArray name,
int start,
int length)
Given that name[start:start+length] is a Type name in JVM format, strip the package and return
the "package-free" class name
|
static ImmutableByteArray |
parseForInnermostArrayElementDescriptor(Atom a)
Parse an array descriptor to obtain number of dimensions in corresponding array type.
|
static ImmutableByteArray |
parseForInnermostArrayElementDescriptor(ImmutableByteArray b,
int start,
int length)
Parse an array descriptor to obtain number of dimensions in corresponding array type.
|
static ImmutableByteArray |
parseForPackage(ImmutableByteArray name)
Given that name[start:start+length] is a Type name in JVM format, parse it for the package
|
static ImmutableByteArray |
parseForPackage(ImmutableByteArray name,
int start,
int length)
Given that name[start:start+length] is a Type name in JVM format, parse it for the package
|
static TypeName[] |
parseForParameterNames(Language l,
ImmutableByteArray b)
Parse method descriptor to obtain descriptions of method's parameters.
|
static TypeName[] |
parseForParameterNames(Language l,
java.lang.String descriptor) |
static TypeName[] |
parseForParameterNames(java.lang.String descriptor) |
static TypeName |
parseForReturnTypeName(Language l,
ImmutableByteArray b)
Parse method descriptor to obtain description of method's return type.
|
static TypeName |
parseForReturnTypeName(Language l,
java.lang.String desc) |
static TypeName |
parseForReturnTypeName(java.lang.String desc) |
static java.lang.String |
slashToDot(java.lang.String path)
Convert '/' to '.' in names.
|
static java.lang.String |
toBasename(java.lang.String typeName)
Return the right position of the string up to '.' or '/' stripping ';'
|
public static void padWithSpaces(java.lang.StringBuilder b,
int length)
public static java.lang.String deployment2CanonicalTypeString(java.lang.String dString)
eg. [[java/lang/String
java.lang.IllegalArgumentException - if dString is nullpublic static java.lang.String deployment2CanonicalDescriptorTypeString(java.lang.String dString)
eg. [[Ljava.lang.String;
java.lang.IllegalArgumentException - if dString is nullpublic static final TypeName parseForReturnTypeName(java.lang.String desc) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic static final TypeName parseForReturnTypeName(Language l, java.lang.String desc) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic static final TypeName parseForReturnTypeName(Language l, ImmutableByteArray b) throws java.lang.IllegalArgumentException
b - method descriptor - something like "(III)V"java.lang.IllegalArgumentException - if b is nullpublic static final TypeName[] parseForParameterNames(java.lang.String descriptor) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic static final TypeName[] parseForParameterNames(Language l, java.lang.String descriptor) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic static final TypeName[] parseForParameterNames(Language l, ImmutableByteArray b) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException - if b is nullpublic static boolean isTypeCodeChar(ImmutableByteArray name, int i)
public static ImmutableByteArray parseForPackage(ImmutableByteArray name, int start, int length) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException - if name == nullpublic static ImmutableByteArray parseForPackage(ImmutableByteArray name)
java.lang.IllegalArgumentException - if name is nullpublic static ImmutableByteArray parseForClass(ImmutableByteArray name, int start, int length) throws java.lang.IllegalArgumentException
TODO: inefficient; needs tuning.
java.lang.IllegalArgumentException - if name is null or malformedpublic static ImmutableByteArray parseForClass(ImmutableByteArray name) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException - if name is nullpublic static int parseForArrayDimensionality(ImmutableByteArray b, int start, int length) throws java.lang.IllegalArgumentException, java.lang.IllegalArgumentException
java.lang.IllegalArgumentException - if b == nullpublic static ImmutableByteArray parseForInnermostArrayElementDescriptor(ImmutableByteArray b, int start, int length)
java.lang.IllegalArgumentException - if b is nullpublic static ImmutableByteArray parseForInnermostArrayElementDescriptor(Atom a)
java.lang.IllegalArgumentException - if a is nullpublic static boolean classIsPrimitive(ImmutableByteArray name, int start, int length) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException - if name is nullpublic static MethodReference makeMethodReference(java.lang.String methodSig) throws java.lang.IllegalArgumentException
methodSig - something like "java_cup.lexer.advance()V"java.lang.IllegalArgumentException - if methodSig is nullpublic static MethodReference makeMethodReference(Language l, java.lang.String methodSig) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic static java.lang.String jvmToReadableType(java.lang.String jvmType)
throws java.lang.IllegalArgumentException
jvmType - a String containing a type name in JVM internal format.java.lang.IllegalArgumentException - if jvmType is nullpublic static java.lang.String jvmToBinaryName(java.lang.String jvmType)
throws java.lang.IllegalArgumentException
jvmType - a String containing a type name in JVM internal format.java.lang.IllegalArgumentException - if jvmType is nullpublic static java.lang.String slashToDot(java.lang.String path)
java.lang.IllegalArgumentException - if path is nullpublic static java.lang.String dollarToDot(java.lang.String path)
path - a string object in which dollar signs('$') must be converted to dots ('.').java.lang.IllegalArgumentException - if path is nullpublic static java.lang.String dotToDollar(java.lang.String path)
path - String object in which dollar signs('$') must be converted to dots ('.').java.lang.IllegalArgumentException - if path is nullpublic static java.lang.String toBasename(java.lang.String typeName)