Interface Signature
- All Known Subinterfaces:
Signature.ArrayTypeSig, Signature.BaseTypeSig, Signature.ClassTypeSig, Signature.RefTypeSig, Signature.ThrowableSig, Signature.TypeVarSig
public sealed interface Signature
permits Signature.BaseTypeSig, Signature.RefTypeSig, Signature.ThrowableSig
Models generic Java type signatures, as defined in JVMS 4.7.9.1.
Names in signatures are identifiers, which must
not be empty and must not contain any of the ASCII characters
. ; [ / < > :. Top-level class and interface names are denoted by
slash-separated identifiers.
- See Java Language Specification:
-
4.1 The Kinds of Types and Values
- See Java Virtual Machine Specification:
-
4.7.9.1 Signatures
- Sealed Class Hierarchy Graph:
- Since:
- 24
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceModels the signature of an array type.static interfaceModels the signature of a primitive type (JLS 4.2) or void.static interfaceModels the signature of a possibly-parameterized class or interface type.static interfaceModels the signature of a reference type, which may be a class, interface, type variable, or array type.static interfaceMarker interface for a signature for a throwable type.static interfaceModels a type argument, an argument to a type parameter.static interfaceModels a signature for a type parameter of a generic class, interface, method, or constructor, which introduces a type variable.static interfaceModels the signature of a type variable. -
Method Summary
-
Method Details
-
signatureString
-
parseFrom
Parses a Java type signature from a raw string.- Parameters:
javaTypeSignature- raw Java type signature string- Returns:
- a Java type signature
- Throws:
IllegalArgumentException- if the string is not a valid Java type signature string
-
of
Returns a Java type signature from a field descriptor. The returned signature represents a reifiable type (JLS 4.7).- Parameters:
classDesc- the symbolic description of the Java type- Returns:
- a Java type signature from a field descriptor
- Throws:
IllegalArgumentException- if the field descriptor cannot be denoted
-