Class HierarchyBinaryType

java.lang.Object
org.aspectj.org.eclipse.jdt.internal.core.hierarchy.HierarchyBinaryType
All Implemented Interfaces:
IBinaryType, IDependent, IGenericType

public class HierarchyBinaryType extends Object implements IBinaryType
  • Constructor Details

    • HierarchyBinaryType

      public HierarchyBinaryType(int modifiers, char[] qualification, char[] sourceName, char[] enclosingTypeName, char[][] typeParameterSignatures, char typeSuffix)
    • HierarchyBinaryType

      public HierarchyBinaryType(int modifiers, char[] binaryName, char[] sourceName, char[] enclosingTypeBinaryName, char[][] typeParameterSignatures)
  • Method Details

    • getAnnotations

      public IBinaryAnnotation[] getAnnotations()
      Description copied from interface: IBinaryType
      Answer the runtime visible and invisible annotations for this type or null if none.
      Specified by:
      getAnnotations in interface IBinaryType
      See Also:
      IBinaryType
    • getTypeAnnotations

      public IBinaryTypeAnnotation[] getTypeAnnotations()
      Description copied from interface: IBinaryType
      Answer the runtime visible and invisible type annotations for this type or null if none.
      Specified by:
      getTypeAnnotations in interface IBinaryType
      See Also:
      IBinaryType
    • getEnclosingMethod

      public char[] getEnclosingMethod()
      Description copied from interface: IBinaryType
      Answer the enclosing method (including method selector and method descriptor), or null if none. For example, "foo()Ljava/lang/Object;V"
      Specified by:
      getEnclosingMethod in interface IBinaryType
    • getEnclosingTypeName

      public 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.
      Specified by:
      getEnclosingTypeName in interface IBinaryType
    • getFields

      public IBinaryField[] getFields()
      Answer the receiver's fields or null if the array is empty.
      Specified by:
      getFields in interface IBinaryType
    • getFileName

      public char[] getFileName()
      Description copied from interface: IDependent
      Answer the file name which defines the type. The path part (optional) must be separated from the actual file proper name by a separator suitable for the type (java.io.File.separator for example), e.g. "c:\\source\\com\\p\\X.java" or "/com/p/Y.java". The path to the zip or jar file (optional) must be separated from the actual path part by JAR_FILE_ENTRY_SEPARATOR, e.g. "c:\\lib\\some.jar|/com/p/X.class" or "/lib/some.zip|/com/q/Y.class". The proper file name includes the suffix extension (e.g. ".java") e.g. "c:/org/aspectj/org/eclipse/jdt/internal/compileri/env/IDependent.java" Return null if no file defines the type.
      Specified by:
      getFileName in interface IDependent
      See Also:
      IDependent.getFileName()
    • getGenericSignature

      public char[] getGenericSignature()
      Description copied from interface: IBinaryType
      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.
      Specified by:
      getGenericSignature in interface IBinaryType
      Returns:
      the receiver's signature, null if none
    • getInterfaceNames

      public 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.
      Specified by:
      getInterfaceNames in interface IBinaryType
    • getMemberTypes

      public 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.
      Specified by:
      getMemberTypes in interface IBinaryType
    • getMethods

      public IBinaryMethod[] getMethods()
      Answer the receiver's methods or null if the array is empty.
      Specified by:
      getMethods in interface IBinaryType
    • getMissingTypeNames

      public char[][][] getMissingTypeNames()
      Description copied from interface: IBinaryType
      Answer the list of missing type names which were referenced from the problem classfile. This list is encoded via an extra attribute.
      Specified by:
      getMissingTypeNames in interface IBinaryType
      See Also:
      IBinaryType.getMissingTypeNames()
    • getModifiers

      public int getModifiers()
      Answer an int whose bits are set according the access constants defined by the VM spec.
      Specified by:
      getModifiers in interface IGenericType
    • getName

      public 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.
      Specified by:
      getName in interface IBinaryType
    • getSourceName

      public char[] getSourceName()
      Description copied from interface: IBinaryType
      Answer the simple name of the type in the class file. For member A$B, will answer B. For anonymous will answer null.
      Specified by:
      getSourceName in interface IBinaryType
    • getSuperclassName

      public 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.
      Specified by:
      getSuperclassName in interface IBinaryType
    • getTagBits

      public long getTagBits()
      Description copied from interface: IBinaryType
      Answer the tagbits set according to the bits for annotations.
      Specified by:
      getTagBits in interface IBinaryType
    • isAnonymous

      public boolean isAnonymous()
      Description copied from interface: IBinaryType
      Answer true if the receiver is an anonymous class. false otherwise
      Specified by:
      isAnonymous in interface IBinaryType
    • isBinaryType

      public boolean isBinaryType()
      Answer whether the receiver contains the resolved binary form or the unresolved source form of the type.
      Specified by:
      isBinaryType in interface IGenericType
    • isLocal

      public boolean isLocal()
      Description copied from interface: IBinaryType
      Answer true if the receiver is a local class. false otherwise
      Specified by:
      isLocal in interface IBinaryType
    • isRecord

      public boolean isRecord()
      Description copied from interface: IBinaryType
      Answer true if the receiver is a record. false otherwise
      Specified by:
      isRecord in interface IBinaryType
    • isMember

      public boolean isMember()
      Description copied from interface: IBinaryType
      Answer true if the receiver is a member class. false otherwise
      Specified by:
      isMember in interface IBinaryType
    • recordSuperType

      public void recordSuperType(char[] superTypeName, char[] superQualification, char superClassOrInterface)
    • recordSuperclass

      public void recordSuperclass(char[] binaryName)
    • recordInterface

      public void recordInterface(char[] binaryName)
    • sourceFileName

      public char[] sourceFileName()
      Description copied from interface: IBinaryType
      Answer the source file attribute, or null if none. For example, "String.java"
      Specified by:
      sourceFileName in interface IBinaryType
      See Also:
      IBinaryType
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • enrichWithExternalAnnotationsFor

      public ITypeAnnotationWalker enrichWithExternalAnnotationsFor(ITypeAnnotationWalker walker, Object member, LookupEnvironment environment)
      Description copied from interface: IBinaryType
      Answer a type annotation walker that takes into consideration also external annotations.
      Specified by:
      enrichWithExternalAnnotationsFor in interface IBinaryType
      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'.
    • getModule

      public char[] getModule()
      Description copied from interface: IBinaryType
      Answer the module to which this type belongs. null if the type is associated to the unnamed module.
      Specified by:
      getModule in interface IBinaryType
      Returns:
      the module name or null
    • getExternalAnnotationStatus

      public BinaryTypeBinding.ExternalAnnotationStatus getExternalAnnotationStatus()
      Description copied from interface: IBinaryType
      Answer whether a provider for external annotations is associated with this binary type.
      Specified by:
      getExternalAnnotationStatus in interface IBinaryType
    • getRecordComponents

      public IRecordComponent[] getRecordComponents()
      Description copied from interface: IBinaryType
      Answer the receiver's record components or null if the array is empty.
      Specified by:
      getRecordComponents in interface IBinaryType