public class StringStuff extends Object
| Constructor and Description |
|---|
StringStuff() |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
classIsPrimitive(ImmutableByteArray name,
int start,
int length) |
static String |
deployment2CanonicalDescriptorTypeString(String dString)
Translate a type from a deployment descriptor string into the type expected for use in a method descriptor
eg.
|
static String |
deployment2CanonicalTypeString(String dString)
Translate a type from a deployment descriptor string into the internal JVM format
eg.
|
static String |
dollarToDot(String path)
Convert '$' to '.' in names.
|
static String |
dotToDollar(String path)
Convert '.' to '$' in names.
|
static boolean |
isTypeCodeChar(ImmutableByteArray name,
int i) |
static String |
jvmToBinaryName(String jvmType)
Convert a JVM encoded type name to a binary type name.
|
static String |
jvmToReadableType(String jvmType)
Convert a JVM encoded type name to a readable type name.
|
static MethodReference |
makeMethodReference(Language l,
String methodSig) |
static MethodReference |
makeMethodReference(String methodSig) |
static void |
padWithSpaces(StringBuffer 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
TODO: inefficient; needs tuning.
|
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,
String descriptor) |
static TypeName[] |
parseForParameterNames(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,
String desc) |
static TypeName |
parseForReturnTypeName(String desc) |
static String |
slashToDot(String path)
Convert '/' to '.' in names.
|
static String |
toBasename(String typeName)
Return the right position of the string up to '.' or '/' stripping ';'
|
public static void padWithSpaces(StringBuffer b, int length)
public static String deployment2CanonicalTypeString(String dString)
IllegalArgumentException - if dString is nullpublic static String deployment2CanonicalDescriptorTypeString(String dString)
IllegalArgumentException - if dString is nullpublic static final TypeName parseForReturnTypeName(String desc) throws IllegalArgumentException
IllegalArgumentExceptionpublic static final TypeName parseForReturnTypeName(Language l, String desc) throws IllegalArgumentException
IllegalArgumentExceptionpublic static final TypeName parseForReturnTypeName(Language l, ImmutableByteArray b) throws IllegalArgumentException
b - method descriptor - something like "(III)V"IllegalArgumentException - if b is nullpublic static final TypeName[] parseForParameterNames(String descriptor) throws IllegalArgumentException
IllegalArgumentExceptionpublic static final TypeName[] parseForParameterNames(Language l, String descriptor) throws IllegalArgumentException
IllegalArgumentExceptionpublic static final TypeName[] parseForParameterNames(Language l, ImmutableByteArray b) throws IllegalArgumentException
IllegalArgumentException - if b is nullpublic static boolean isTypeCodeChar(ImmutableByteArray name, int i)
public static ImmutableByteArray parseForPackage(ImmutableByteArray name, int start, int length) throws IllegalArgumentException
IllegalArgumentException - if name == nullpublic static ImmutableByteArray parseForPackage(ImmutableByteArray name)
IllegalArgumentException - if name is nullpublic static ImmutableByteArray parseForClass(ImmutableByteArray name, int start, int length) throws IllegalArgumentException
IllegalArgumentException - if name is null or malformedpublic static ImmutableByteArray parseForClass(ImmutableByteArray name) throws IllegalArgumentException
IllegalArgumentException - if name is nullpublic static int parseForArrayDimensionality(ImmutableByteArray b, int start, int length) throws IllegalArgumentException, IllegalArgumentException
IllegalArgumentException - if b == nullpublic static ImmutableByteArray parseForInnermostArrayElementDescriptor(ImmutableByteArray b, int start, int length)
IllegalArgumentException - if b is nullpublic static ImmutableByteArray parseForInnermostArrayElementDescriptor(Atom a)
IllegalArgumentException - if a is nullpublic static boolean classIsPrimitive(ImmutableByteArray name, int start, int length) throws IllegalArgumentException
IllegalArgumentException - if name is nullpublic static MethodReference makeMethodReference(String methodSig) throws IllegalArgumentException
methodSig - something like "java_cup.lexer.advance()V"IllegalArgumentException - if methodSig is nullpublic static MethodReference makeMethodReference(Language l, String methodSig) throws IllegalArgumentException
IllegalArgumentExceptionpublic static String jvmToReadableType(String jvmType) throws IllegalArgumentException
jvmType - a String containing a type name in JVM internal format.IllegalArgumentException - if jvmType is nullpublic static String jvmToBinaryName(String jvmType) throws IllegalArgumentException
jvmType - a String containing a type name in JVM internal format.IllegalArgumentException - if jvmType is nullpublic static String slashToDot(String path)
IllegalArgumentException - if path is nullpublic static String dollarToDot(String path)
path - a string object in which dollar signs('$') must be converted to dots ('.').IllegalArgumentException - if path is nullpublic static String dotToDollar(String path)
path - String object in which dollar signs('$') must be converted to dots ('.').IllegalArgumentException - if path is nullCopyright © 2015. All rights reserved.