Klasse CompactTypeStructureRepresentation

java.lang.Object
org.aspectj.ajdt.internal.core.builder.CompactTypeStructureRepresentation
Alle implementierten Schnittstellen:
IBinaryType, IDependent, IGenericType

public class CompactTypeStructureRepresentation extends Object implements IBinaryType
Used to determine if a type has structurally changed during incremental compilation. At the end of compilation we create one of these objects using the bytes for the class about to be woven. On a subsequent incremental compile we compare the new form of the class with a previously stored CompactTypeStructureRepresentation instance. A structural change will indicate we need to do recompile other dependent types.
  • Konstruktordetails

    • CompactTypeStructureRepresentation

      public CompactTypeStructureRepresentation(ClassFileReader cfr, boolean isAspect)
  • Methodendetails

    • getMissingTypeNames

      public char[][][] getMissingTypeNames()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer the list of missing type names which were referenced from the problem classfile. This list is encoded via an extra attribute.
      Angegeben von:
      getMissingTypeNames in Schnittstelle IBinaryType
    • getEnclosingTypeName

      public char[] getEnclosingTypeName()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      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.
      Angegeben von:
      getEnclosingTypeName in Schnittstelle IBinaryType
    • getModifiers

      public int getModifiers()
      Beschreibung aus Schnittstelle kopiert: IGenericType
      Answer an int whose bits are set according the access constants defined by the VM spec. NOTE 1: We have added AccDeprecated Ungültige Eingabe: "&" AccSynthetic. NOTE 2: If the receiver represents a member type, the modifiers are extracted from its inner class attributes.
      Angegeben von:
      getModifiers in Schnittstelle IGenericType
    • getGenericSignature

      public char[] getGenericSignature()
      Beschreibung aus Schnittstelle kopiert: 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.
      Angegeben von:
      getGenericSignature in Schnittstelle IBinaryType
      Gibt zurück:
      the receiver's signature, null if none
    • getEnclosingMethod

      public char[] getEnclosingMethod()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer the enclosing method (including method selector and method descriptor), or null if none. For example, "foo()Ljava/lang/Object;V"
      Angegeben von:
      getEnclosingMethod in Schnittstelle IBinaryType
    • getInterfaceNames

      public char[][] getInterfaceNames()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      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.
      Angegeben von:
      getInterfaceNames in Schnittstelle IBinaryType
    • isAnonymous

      public boolean isAnonymous()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer true if the receiver is an anonymous class. false otherwise
      Angegeben von:
      isAnonymous in Schnittstelle IBinaryType
    • sourceFileName

      public char[] sourceFileName()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer the source file attribute, or null if none. For example, "String.java"
      Angegeben von:
      sourceFileName in Schnittstelle IBinaryType
    • isLocal

      public boolean isLocal()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer true if the receiver is a local class. false otherwise
      Angegeben von:
      isLocal in Schnittstelle IBinaryType
    • isRecord

      public boolean isRecord()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer true if the receiver is a record. false otherwise
      Angegeben von:
      isRecord in Schnittstelle IBinaryType
    • isMember

      public boolean isMember()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer true if the receiver is a member class. false otherwise
      Angegeben von:
      isMember in Schnittstelle IBinaryType
    • getSuperclassName

      public char[] getSuperclassName()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      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.
      Angegeben von:
      getSuperclassName in Schnittstelle IBinaryType
    • getFileName

      public char[] getFileName()
      Beschreibung aus Schnittstelle kopiert: 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/eclipse/jdt/internal/compileri/env/IDependent.java" Return null if no file defines the type.
      Angegeben von:
      getFileName in Schnittstelle IDependent
    • getName

      public char[] getName()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      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.
      Angegeben von:
      getName in Schnittstelle IBinaryType
    • getTagBits

      public long getTagBits()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer the tagbits set according to the bits for annotations.
      Angegeben von:
      getTagBits in Schnittstelle IBinaryType
    • isBinaryType

      public boolean isBinaryType()
      Beschreibung aus Schnittstelle kopiert: IGenericType
      Answer whether the receiver contains the resolved binary form or the unresolved source form of the type.
      Angegeben von:
      isBinaryType in Schnittstelle IGenericType
    • getFields

      public IBinaryField[] getFields()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer the receiver's fields or null if the array is empty.
      Angegeben von:
      getFields in Schnittstelle IBinaryType
    • getRecordComponents

      public IRecordComponent[] getRecordComponents()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer the receiver's record components or null if the array is empty.
      Angegeben von:
      getRecordComponents in Schnittstelle IBinaryType
    • getMethods

      public IBinaryMethod[] getMethods()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer the receiver's methods or null if the array is empty.
      Angegeben von:
      getMethods in Schnittstelle IBinaryType
    • getMemberTypes

      public IBinaryNestedType[] getMemberTypes()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      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.
      Angegeben von:
      getMemberTypes in Schnittstelle IBinaryType
    • getAnnotations

      public IBinaryAnnotation[] getAnnotations()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer the runtime visible and invisible annotations for this type or null if none.
      Angegeben von:
      getAnnotations in Schnittstelle IBinaryType
    • getSourceName

      public char[] getSourceName()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer the simple name of the type in the class file. For member A$B, will answer B. For anonymous will answer null.
      Angegeben von:
      getSourceName in Schnittstelle IBinaryType
    • getTypeAnnotations

      public IBinaryTypeAnnotation[] getTypeAnnotations()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer the runtime visible and invisible type annotations for this type or null if none.
      Angegeben von:
      getTypeAnnotations in Schnittstelle IBinaryType
    • enrichWithExternalAnnotationsFor

      public ITypeAnnotationWalker enrichWithExternalAnnotationsFor(ITypeAnnotationWalker walker, Object member, LookupEnvironment environment)
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer a type annotation walker that takes into consideration also external annotations.
      Angegeben von:
      enrichWithExternalAnnotationsFor in Schnittstelle IBinaryType
      Parameter:
      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
      Gibt zurück:
      either a matching walker with data from external annotations or the walker provided via argument 'walker'.
    • getModule

      public char[] getModule()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer the module to which this type belongs. null if the type is associated to the unnamed module.
      Angegeben von:
      getModule in Schnittstelle IBinaryType
      Gibt zurück:
      the module name or null
    • getExternalAnnotationStatus

      public BinaryTypeBinding.ExternalAnnotationStatus getExternalAnnotationStatus()
      Beschreibung aus Schnittstelle kopiert: IBinaryType
      Answer whether a provider for external annotations is associated with this binary type.
      Angegeben von:
      getExternalAnnotationStatus in Schnittstelle IBinaryType