Class RecordComponentInfo

java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct
org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.RecordComponentInfo
All Implemented Interfaces:
Comparable, IBinaryField, IGenericField, IRecordComponent
Direct Known Subclasses:
ComponentInfoWithAnnotation

public class RecordComponentInfo extends ClassFileStruct implements IRecordComponent, Comparable
  • Field Details

    • attributeBytes

      protected int attributeBytes
    • descriptor

      protected char[] descriptor
    • name

      protected char[] name
    • signature

      protected char[] signature
    • signatureUtf8Offset

      protected int signatureUtf8Offset
    • tagBits

      protected long tagBits
    • version

      protected long version
  • Constructor Details

    • RecordComponentInfo

      protected RecordComponentInfo(byte[] classFileBytes, int[] offsets, int offset, long version)
      Parameters:
      classFileBytes - byte[]
      offsets - int[]
      offset - int
      version - class file version
  • Method Details

    • createComponent

      public static RecordComponentInfo createComponent(byte[] classFileBytes, int[] offsets, int offset, long version)
    • compareTo

      public int compareTo(Object o)
      Specified by:
      compareTo in interface Comparable
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • getGenericSignature

      public char[] getGenericSignature()
      Description copied from interface: IBinaryField
      Answer the receiver's FieldSignature, which describes the field's type as specified in "4.7.9.1 Signatures" of the Java SE 8 VM spec.
      Specified by:
      getGenericSignature in interface IBinaryField
    • getName

      public char[] getName()
      Answer the name of the component.
      Specified by:
      getName in interface IBinaryField
      Returns:
      char[]
    • getTagBits

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

      public char[] getTypeName()
      Answer the resolved name of the receiver's type in the class file format as specified in section 4.3.2 of the Java 2 VM spec. For example: - java.lang.String is Ljava/lang/String; - an int is I - a 2 dimensional array of strings is [[Ljava/lang/String; - an array of floats is [F
      Specified by:
      getTypeName in interface IBinaryField
      Returns:
      char[]
    • getAnnotations

      public IBinaryAnnotation[] getAnnotations()
      Description copied from interface: IBinaryField
      Answer the runtime visible and invisible annotations for this field or null if none.
      Specified by:
      getAnnotations in interface IBinaryField
      Returns:
      the annotations or null if there is none.
    • getTypeAnnotations

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

      protected void initialize()
      This method is used to fully initialize the contents of the receiver. All methodinfos, fields infos will be therefore fully initialized and we can get rid of the bytes.
    • sizeInBytes

      public int sizeInBytes()
      Answer the size of the receiver in bytes.
      Returns:
      int
    • throwFormatException

      public void throwFormatException() throws ClassFormatException
      Throws:
      ClassFormatException
    • toString

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

      protected void toStringContent(StringBuffer buffer)
    • getConstant

      public Constant getConstant()
      Specified by:
      getConstant in interface IBinaryField
      Returns:
      org.aspectj.org.eclipse.jdt.internal.compiler.Constant
    • getModifiers

      public int getModifiers()
      Description copied from interface: IGenericField
      Answer an int whose bits are set according the access constants defined by the VM spec.
      Specified by:
      getModifiers in interface IGenericField