Interface IBinaryType

All Superinterfaces:
IDependent, IGenericType
All Known Implementing Classes:
ClassFileReader, CodeSnippetSkeleton, CompactTypeStructureRepresentation, ExternalAnnotationDecorator, HierarchyBinaryType, IndexBinaryType

public interface IBinaryType extends IGenericType
  • Field Details

  • Method Details

    • getAnnotations

      IBinaryAnnotation[] getAnnotations()
      Answer the runtime visible and invisible annotations for this type or null if none.
    • getTypeAnnotations

      IBinaryTypeAnnotation[] getTypeAnnotations()
      Answer the runtime visible and invisible type annotations for this type or null if none.
    • getEnclosingMethod

      char[] getEnclosingMethod()
      Answer the enclosing method (including method selector and method descriptor), or null if none. For example, "foo()Ljava/lang/Object;V"
    • getEnclosingTypeName

      char[] getEnclosingTypeName()
      Answer the resolved name of the enclosing type in the class file format as specified in section 4.2 of the Java 2 VM spec or null if the receiver is a top level type. For example, java.lang.String is java/lang/String.
    • getFields

      IBinaryField[] getFields()
      Answer the receiver's fields or null if the array is empty.
    • getRecordComponents

      IRecordComponent[] getRecordComponents()
      Answer the receiver's record components or null if the array is empty.
    • getModule

      char[] getModule()
      Answer the module to which this type belongs. null if the type is associated to the unnamed module.
      Returns:
      the module name or null
    • getGenericSignature

      char[] getGenericSignature()
      Answer the receiver's ClassSignature, which describes the type parameters, super class, and super interfaces as specified in section "4.7.9.1 Signatures" of the Java SE 8 VM spec. Returns null if none.
      Returns:
      the receiver's signature, null if none
    • getInterfaceNames

      char[][] getInterfaceNames()
      Answer the resolved names of the receiver's interfaces in the class file format as specified in section 4.2 of the Java 2 VM spec or null if the array is empty. For example, java.lang.String is java/lang/String.
    • getPermittedSubtypeNames

      default char[][] getPermittedSubtypeNames()
      Answer the unresolved names of the receiver's permitted sub types or null if the array is empty. A name is a simple name or a qualified, dot separated name. For example, Hashtable or java.util.Hashtable.
    • getMemberTypes

      IBinaryNestedType[] getMemberTypes()
      Answer the receiver's nested types or null if the array is empty. This nested type info is extracted from the inner class attributes. Ask the name environment to find a member type using its compound name.
    • getMethods

      IBinaryMethod[] getMethods()
      Answer the receiver's methods or null if the array is empty.
    • getMissingTypeNames

      char[][][] getMissingTypeNames()
      Answer the list of missing type names which were referenced from the problem classfile. This list is encoded via an extra attribute.
    • getName

      char[] getName()
      Answer the resolved name of the type in the class file format as specified in section 4.2 of the Java 2 VM spec. For example, java.lang.String is java/lang/String.
    • getSourceName

      char[] getSourceName()
      Answer the simple name of the type in the class file. For member A$B, will answer B. For anonymous will answer null.
    • getSuperclassName

      char[] getSuperclassName()
      Answer the resolved name of the receiver's superclass in the class file format as specified in section 4.2 of the Java 2 VM spec or null if it does not have one. For example, java.lang.String is java/lang/String.
    • getTagBits

      long getTagBits()
      Answer the tagbits set according to the bits for annotations.
    • isAnonymous

      boolean isAnonymous()
      Answer true if the receiver is an anonymous class. false otherwise
    • isLocal

      boolean isLocal()
      Answer true if the receiver is a local class. false otherwise
    • isRecord

      boolean isRecord()
      Answer true if the receiver is a record. false otherwise
    • isMember

      boolean isMember()
      Answer true if the receiver is a member class. false otherwise
    • sourceFileName

      char[] sourceFileName()
      Answer the source file attribute, or null if none. For example, "String.java"
    • enrichWithExternalAnnotationsFor

      ITypeAnnotationWalker enrichWithExternalAnnotationsFor(ITypeAnnotationWalker walker, Object member, LookupEnvironment environment)
      Answer a type annotation walker that takes into consideration also external annotations.
      Parameters:
      walker - previous walker, may be empty, otherwise it will be returned unchanged
      member - if either a IBinaryField or a IBinaryMethod is provided, answer a walker specifically for that member
      environment - for use by the walker
      Returns:
      either a matching walker with data from external annotations or the walker provided via argument 'walker'.
    • getExternalAnnotationStatus

      BinaryTypeBinding.ExternalAnnotationStatus getExternalAnnotationStatus()
      Answer whether a provider for external annotations is associated with this binary type.