Class Signatures
The class is not yet exhaustive; let the maintainers know if it lacks something you need.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classA representation of an array: A pair of class name (a binary name or primitive) and the number of array dimensions. -
Method Summary
Modifier and TypeMethodDescriptionstatic @BinaryName StringaddPackage(@Nullable @DotSeparatedIdentifiers String packagename, @BinaryName String classname) Given a package name and a class name, combine them to form a qualified class name.static StringarglistFromJvm(String arglist) Convert an argument list from JVML format to Java format.static StringarglistToJvm(String arglist) Convert a fully-qualified argument list from Java format to JVML format.static @ClassGetName StringbinaryNameToClassGetName(@BinaryName String bn) Convert from a BinaryName to the format ofClass.getName().static @FieldDescriptor StringbinaryNameToFieldDescriptor(@FqBinaryName String typename) Convert a binary name to a field descriptor.static @FullyQualifiedName StringbinaryNameToFullyQualified(@BinaryName String binaryName) Converts a binary name to a fully-qualified name.static @BinaryName StringclassfilenameToBaseName(String classfilename) Given a filename ending with ".class", return the simple (unqualified) binary name of the class.static @BinaryName StringclassfilenameToBinaryName(String classfilename) Given a filename ending with ".class", return the binary name of the class.static @BinaryName StringclassGetNameToBinaryName(@ClassGetName String typename) Convert a name in Class.getName format to a binary name.static @BinaryName StringfieldDescriptorToBinaryName(@FieldDescriptor String typename) Convert a field descriptor to a binary name.static @ClassGetName StringfieldDescriptorToClassGetName(@FieldDescriptor String fd) Convert from a FieldDescriptor to the format ofClass.getName().static @FullyQualifiedName StringfieldDescriptorToFullyQualified(@FieldDescriptor String typename) Convert a field descriptor to a fully-qualified name.static @ClassGetName StringgetArrayElementType(@FqBinaryName String fqBinaryName) Returns the element type for the given type name, which results from removing all the array brackets.static @BinaryName StringinternalFormToBinaryName(@InternalForm String internalForm) Given a class name in internal form, return it as a binary name.static @ClassGetName StringinternalFormToClassGetName(@InternalForm String internalForm) Given a class name in internal form, return it in ClassGetName form.static @DotSeparatedIdentifiers StringinternalFormToDotSeparatedIdentifiers(@InternalForm String internalForm) Given a class name in internal form, return it as dot-separated identifiers.static @FullyQualifiedName StringinternalFormToFullyQualified(@InternalForm String internalForm) Given a class name in internal form, return it as a fully-qualified name.static booleanReturns true if the argument has the format of an ArrayWithoutPackage.static booleanReturns true if the argument has the format of a BinaryName.static booleanReturns true if the argument has the format of a BinaryNameOrPrimitiveType.static booleanReturns true if the argument has the format of a ClassGetName.static booleanReturns true if the argument has the format of a ClassGetSimpleName.static booleanReturns true if the argument has the format of a DotSeparatedIdentifiers.static booleanReturns true if the argument has the format of a DotSeparatedIdentifiersOrPrimitiveType.static booleanReturns true if the argument has the format of a FieldDescriptor.static booleanReturns true if the argument has the format of a FieldDescriptorForPrimitive.static booleanReturns true if the argument has the format of a FieldDescriptorWithoutPackage.static booleanReturns true if the argument has the format of a FqBinaryName.static booleanReturns true if the argument has the format of a FullyQualifiedName.static booleanReturns true if the argument has the format of a Identifier.static booleanReturns true if the argument has the format of a IdentifierOrPrimitiveType.static booleanReturns true if the argument has the format of a InternalForm.static booleanReturns true if the argument has the format of a PrimitiveType.static @Nullable @FieldDescriptor StringmethodDescriptorToReturnType(@MethodDescriptor String methodDescriptor) Returns the return type of the given method descriptor, or null if the method is void.static @FieldDescriptor StringprimitiveTypeNameToFieldDescriptor(@PrimitiveType String primitiveName) Convert a primitive Java type name (e.g., "int", "double", etc.) to a field descriptor (e.g., "I", "D", etc.).static @BinaryName String[]splitJavaArglist(String javaArglist) Split a fully-qualified argument list from Java format into an array of Java-format types.splitJvmArglist(String jvmArglist) Split an argument list from JVML format into an array of JVML format types.
-
Method Details
-
getArrayElementType
Returns the element type for the given type name, which results from removing all the array brackets.- Parameters:
fqBinaryName- "a fully-qualified binary name" (@FqBinaryNome)- Returns:
- the base element type of the argument, with all array brackets stripped
-
classfilenameToBinaryName
Given a filename ending with ".class", return the binary name of the class.- Parameters:
classfilename- the name of a classfile, relative to a directory on the CLASSPATH- Returns:
- the basename of the classfile
-
classfilenameToBaseName
Given a filename ending with ".class", return the simple (unqualified) binary name of the class.- Parameters:
classfilename- the name of a classfile- Returns:
- the basename of the classfile
-
addPackage
public static @BinaryName String addPackage(@Nullable @DotSeparatedIdentifiers String packagename, @BinaryName String classname) Given a package name and a class name, combine them to form a qualified class name.- Parameters:
packagename- the package nameclassname- the class name- Returns:
- the qualified class name
-
isArrayWithoutPackage
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.ArrayWithoutPackage.class) public static boolean isArrayWithoutPackage(String s) Returns true if the argument has the format of an ArrayWithoutPackage. The type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @ArrayWithoutPackage
-
isBinaryName
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.BinaryName.class) public static boolean isBinaryName(String s) Returns true if the argument has the format of a BinaryName. The type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @BinaryName
-
isBinaryNameOrPrimitiveType
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.BinaryNameOrPrimitiveType.class) public static boolean isBinaryNameOrPrimitiveType(String s) Returns true if the argument has the format of a BinaryNameOrPrimitiveType. The type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @BinaryNameOrPrimitiveType
-
isClassGetName
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.ClassGetName.class) public static boolean isClassGetName(String s) Returns true if the argument has the format of a ClassGetName. The type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @ClassGetName
-
isClassGetSimpleName
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.ClassGetSimpleName.class) public static boolean isClassGetSimpleName(String s) Returns true if the argument has the format of a ClassGetSimpleName. The type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @ClassGetSimpleName
-
isDotSeparatedIdentifiers
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.DotSeparatedIdentifiers.class) public static boolean isDotSeparatedIdentifiers(String s) Returns true if the argument has the format of a DotSeparatedIdentifiers. The package or type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @DotSeparatedIdentifiers
-
isDotSeparatedIdentifiersOrPrimitiveType
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.DotSeparatedIdentifiersOrPrimitiveType.class) public static boolean isDotSeparatedIdentifiersOrPrimitiveType(String s) Returns true if the argument has the format of a DotSeparatedIdentifiersOrPrimitiveType. The package or type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @DotSeparatedIdentifiersOrPrimitiveType
-
isFieldDescriptor
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.FieldDescriptor.class) public static boolean isFieldDescriptor(String s) Returns true if the argument has the format of a FieldDescriptor. The type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @FieldDescriptor
-
isFieldDescriptorWithoutPackage
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.FieldDescriptorWithoutPackage.class) public static boolean isFieldDescriptorWithoutPackage(String s) Returns true if the argument has the format of a FieldDescriptorWithoutPackage. The type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @FieldDescriptorWithoutPackage
-
isFieldDescriptorForPrimitive
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.FieldDescriptorForPrimitive.class) public static boolean isFieldDescriptorForPrimitive(String s) Returns true if the argument has the format of a FieldDescriptorForPrimitive.- Parameters:
s- a string- Returns:
- true if the string is a @FieldDescriptorForPrimitive
-
isFqBinaryName
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.FqBinaryName.class) public static boolean isFqBinaryName(String s) Returns true if the argument has the format of a FqBinaryName. The type it refers to might or might not exist.This method has the same semantics as
isFullyQualifiedName(java.lang.String), because the syntactic formats are the same (though the interpretations of the strings differ).- Parameters:
s- a string- Returns:
- true if the string is a @FqBinaryName
-
isFullyQualifiedName
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.FullyQualifiedName.class) public static boolean isFullyQualifiedName(String s) Returns true if the argument has the format of a FullyQualifiedName. The type it refers to might or might not exist.This method has the same semantics as
isFqBinaryName(java.lang.String), because the syntactic formats are the same (though the interpretations of the strings differ).- Parameters:
s- a string- Returns:
- true if the string is a @FullyQualifiedName
-
isIdentifier
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.Identifier.class) public static boolean isIdentifier(String s) Returns true if the argument has the format of a Identifier. The type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @Identifier
-
isIdentifierOrPrimitiveType
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.IdentifierOrPrimitiveType.class) public static boolean isIdentifierOrPrimitiveType(String s) Returns true if the argument has the format of a IdentifierOrPrimitiveType. The type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @IdentifierOrPrimitiveType
-
isInternalForm
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.InternalForm.class) public static boolean isInternalForm(String s) Returns true if the argument has the format of a InternalForm. The type it refers to might or might not exist.- Parameters:
s- a string- Returns:
- true if the string is a @InternalForm
-
isPrimitiveType
@EnsuresQualifierIf(result=true, expression="#1", qualifier=org.checkerframework.checker.signature.qual.PrimitiveType.class) public static boolean isPrimitiveType(String s) Returns true if the argument has the format of a PrimitiveType.- Parameters:
s- a string- Returns:
- true if the string is a @PrimitiveType
-
binaryNameToFieldDescriptor
Convert a binary name to a field descriptor. For example, convert "java.lang.Object[]" to "[Ljava/lang/Object;" or "int" to "I" or "pkg.Outer$Inner" to "Lpkg/Outer$Inner;".There are no binary names for primitives or array types. Nonetheless, this method works for them. It converts "java.lang.Object[]" to "[Ljava/lang/Object;" or "int" to "I".
- Parameters:
typename- name of the type, in fully-qualified binary name format- Returns:
- name of the class, in field descriptor format
-
primitiveTypeNameToFieldDescriptor
public static @FieldDescriptor String primitiveTypeNameToFieldDescriptor(@PrimitiveType String primitiveName) Convert a primitive Java type name (e.g., "int", "double", etc.) to a field descriptor (e.g., "I", "D", etc.).- Parameters:
primitiveName- name of the type, in Java format- Returns:
- name of the type, in field descriptor format
- Throws:
IllegalArgumentException- if primitiveName is not a valid primitive type name
-
binaryNameToClassGetName
Convert from a BinaryName to the format ofClass.getName().There are no binary names for primitives or array types. Nonetheless, this method works for them. It converts "java.lang.Object[]" to "[Ljava.lang.Object;", and it converts "int" to "int".
- Parameters:
bn- the binary name to convert- Returns:
- the class name, in Class.getName format
-
binaryNameToFullyQualified
Converts a binary name to a fully-qualified name.- Parameters:
binaryName- a type in binary name format- Returns:
- a fully-qualified name
-
fieldDescriptorToClassGetName
Convert from a FieldDescriptor to the format ofClass.getName().- Parameters:
fd- the class, in field descriptor format- Returns:
- the class name, in Class.getName format
-
fieldDescriptorToBinaryName
Convert a field descriptor to a binary name. For example, convert "[Ljava/util/Map$Entry;" to "java.lang.Map$Entry[]" or "I" to "int".- Parameters:
typename- a field descriptor (the name of a type in JVML format)- Returns:
- the corresponding binary name
-
classGetNameToBinaryName
Convert a name in Class.getName format to a binary name. For example, convert "[Ljava/util/Map$Entry;" to "java.lang.Map$Entry[]".- Parameters:
typename- a name in Class.getName format- Returns:
- the corresponding binary name
-
fieldDescriptorToFullyQualified
public static @FullyQualifiedName String fieldDescriptorToFullyQualified(@FieldDescriptor String typename) Convert a field descriptor to a fully-qualified name. For example, convert "[Ljava/util/Map$Entry;" to "java.util.Map.Entry[]" or "I" to "int".- Parameters:
typename- a field descriptor (the name of a type in JVML format)- Returns:
- the corresponding fully-qualified name (what you would write in Java source code)
-
internalFormToClassGetName
Given a class name in internal form, return it in ClassGetName form.- Parameters:
internalForm- a class name in internal form- Returns:
- the class name in ClassGetName form
-
internalFormToBinaryName
Given a class name in internal form, return it as a binary name.- Parameters:
internalForm- a class name in internal form- Returns:
- the class name as a binary name
-
internalFormToDotSeparatedIdentifiers
public static @DotSeparatedIdentifiers String internalFormToDotSeparatedIdentifiers(@InternalForm String internalForm) Given a class name in internal form, return it as dot-separated identifiers.- Parameters:
internalForm- a class name in internal form- Returns:
- the class name as dot-separated identifiers
-
internalFormToFullyQualified
public static @FullyQualifiedName String internalFormToFullyQualified(@InternalForm String internalForm) Given a class name in internal form, return it as a fully-qualified name.- Parameters:
internalForm- a type in internal form- Returns:
- a fully-qualified name
-
splitJavaArglist
Split a fully-qualified argument list from Java format into an array of Java-format types. For example, convert "(java.lang.Integer[], int, java.lang.Integer[][])" to ["java.lang.Integer[]", "int", "java.lang.Integer[][]"].- Parameters:
javaArglist- an argument list, in Java format- Returns:
- argument list, in JVML format
-
arglistToJvm
Convert a fully-qualified argument list from Java format to JVML format. For example, convert "(java.lang.Integer[], int, java.lang.Integer[][])" to "([Ljava/lang/Integer;I[[Ljava/lang/Integer;)".- Parameters:
arglist- an argument list, in Java format- Returns:
- argument list, in JVML format
-
splitJvmArglist
Split an argument list from JVML format into an array of JVML format types. For example, convert "([Ljava/lang/Integer;I[[Ljava/lang/Integer;)" to ["[Ljava/lang/Integer;", "I", "[[Ljava/lang/Integer;"].- Parameters:
jvmArglist- an argument list, in JVML format- Returns:
- argument list, in JVML format
-
arglistFromJvm
Convert an argument list from JVML format to Java format. For example, convert "([Ljava/lang/Integer;I[[Ljava/lang/Integer;)" to "(java.lang.Integer[], int, java.lang.Integer[][])".- Parameters:
arglist- an argument list, in JVML format- Returns:
- argument list, in Java format
-
methodDescriptorToReturnType
public static @Nullable @FieldDescriptor String methodDescriptorToReturnType(@MethodDescriptor String methodDescriptor) Returns the return type of the given method descriptor, or null if the method is void.- Parameters:
methodDescriptor- a method descriptor- Returns:
- the return type of the given method descriptor, or null if the method is void
-