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(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
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(StringBuilder 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
IllegalArgumentException
public static final TypeName parseForReturnTypeName(Language l, String desc) throws IllegalArgumentException
IllegalArgumentException
public 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
IllegalArgumentException
public static final TypeName[] parseForParameterNames(Language l, String descriptor) throws IllegalArgumentException
IllegalArgumentException
public 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
IllegalArgumentException
public 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 © 2019. All rights reserved.