Class TypeSignature

Direct Known Subclasses:
BaseTypeSignature, ReferenceTypeSignature

public abstract class TypeSignature extends HierarchicalTypeSignature
A type signature for a reference type or base type. Subclasses are ReferenceTypeSignature (whose own subclasses are ClassRefTypeSignature, TypeVariableSignature, and ArrayTypeSignature), and BaseTypeSignature.
  • Constructor Details

    • TypeSignature

      protected TypeSignature()
      Constructor.
  • Method Details

    • findReferencedClassNames

      protected void findReferencedClassNames(Set<String> refdClassNames)
      Get the names of any classes referenced in the type signature.
      Parameters:
      refdClassNames - the referenced class names.
    • findReferencedClassInfo

      protected final void findReferencedClassInfo(Map<String,ClassInfo> classNameToClassInfo, Set<ClassInfo> refdClassInfo, LogNode log)
      Get ClassInfo objects for any classes referenced in the type signature.
      Overrides:
      findReferencedClassInfo in class ScanResultObject
      Parameters:
      classNameToClassInfo - the map from class name to ClassInfo.
      refdClassInfo - the referenced class info.
      log - the log
    • getTypeAnnotationInfo

      public AnnotationInfoList getTypeAnnotationInfo()
      Get a list of AnnotationInfo objects for any type annotations on this type, or null if none.
      Overrides:
      getTypeAnnotationInfo in class HierarchicalTypeSignature
      Returns:
      a list of AnnotationInfo objects for any type annotations on this type, or null if none.
    • equalsIgnoringTypeParams

      public abstract boolean equalsIgnoringTypeParams(TypeSignature other)
      Compare base types, ignoring generic type parameters.
      Parameters:
      other - the other TypeSignature to compare to.
      Returns:
      True if the two TypeSignature objects are equal, ignoring type parameters.
    • parse

      static TypeSignature parse(Parser parser, String definingClass) throws ParseException
      Parse a type signature.
      Parameters:
      parser - The parser
      definingClass - The class containing the type descriptor.
      Returns:
      The parsed type descriptor or type signature.
      Throws:
      ParseException - If the type signature could not be parsed.
    • parse

      static TypeSignature parse(String typeDescriptor, String definingClass) throws ParseException
      Parse a type signature.
      Parameters:
      typeDescriptor - The type descriptor or type signature to parse.
      definingClass - The class containing the type descriptor.
      Returns:
      The parsed type descriptor or type signature.
      Throws:
      ParseException - If the type signature could not be parsed.
    • addTypeAnnotation

      protected abstract void addTypeAnnotation(List<Classfile.TypePathNode> typePath, AnnotationInfo annotationInfo)
      Add a type annotation to this type.
      Specified by:
      addTypeAnnotation in class HierarchicalTypeSignature
      Parameters:
      typePath - The type path.
      annotationInfo - The annotation to add.