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:
Sealed class hierarchy graph for SignatureSealed class hierarchy graph for Signature
Since:
24
See Also:
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    Models the signature of an array type.
    static interface 
    Models the signature of a primitive type (JLS 4.2) or void.
    static interface 
    Models the signature of a possibly-parameterized class or interface type.
    static interface 
    Models the signature of a reference type, which may be a class, interface, type variable, or array type.
    static interface 
    Marker interface for a signature for a throwable type.
    static interface 
    Models a type argument, an argument to a type parameter.
    static interface 
    Models a signature for a type parameter of a generic class, interface, method, or constructor, which introduces a type variable.
    static interface 
    Models the signature of a type variable.
  • Method Summary

    Modifier and Type
    Method
    Description
    static Signature
    of(ClassDesc classDesc)
    Returns a Java type signature from a field descriptor.
    static Signature
    parseFrom(String javaTypeSignature)
    Parses a Java type signature from a raw string.
    Returns the raw signature string.
  • Method Details

    • signatureString

      String signatureString()
      Returns the raw signature string.
      Returns:
      the raw signature string
    • parseFrom

      static Signature parseFrom(String javaTypeSignature)
      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

      static Signature of(ClassDesc classDesc)
      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