Class FieldInfo
java.lang.Object
org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.ClassFileStruct
org.aspectj.org.eclipse.jdt.internal.compiler.classfmt.FieldInfo
- All Implemented Interfaces:
Comparable
,IBinaryField
,IGenericField
- Direct Known Subclasses:
FieldInfoWithAnnotation
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
FieldInfo(byte[] classFileBytes, int[] offsets, int offset, long version)
-
Method Summary
Modifier and TypeMethodDescriptionint
static FieldInfo
createField(byte[] classFileBytes, int[] offsets, int offset, long version)
boolean
Answer the runtime visible and invisible annotations for this field or null if none.Return the constant of the field.char[]
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.int
Answer an int whose bits are set according the access constants defined by the VM spec.char[]
getName()
Answer the name of the field.long
Answer the tagbits set according to the bits for annotations.Answer the runtime visible and invisible type annotations for this field or null if none.char[]
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.Return a wrapper that contains the constant of the field.boolean
Return true if the field has a constant value attribute, false otherwise.int
hashCode()
protected void
This method is used to fully initialize the contents of the receiver.boolean
Return true if the field is a synthetic field, false otherwise.int
Answer the size of the receiver in bytes.void
toString()
protected void
toStringContent(StringBuffer buffer)
-
Field Details
-
accessFlags
protected int accessFlags -
attributeBytes
protected int attributeBytes -
constant
-
descriptor
protected char[] descriptor -
name
protected char[] name -
signature
protected char[] signature -
signatureUtf8Offset
protected int signatureUtf8Offset -
tagBits
protected long tagBits -
wrappedConstantValue
-
version
protected long version
-
-
Constructor Details
-
FieldInfo
protected FieldInfo(byte[] classFileBytes, int[] offsets, int offset, long version)- Parameters:
classFileBytes
- byte[]offsets
- int[]offset
- intversion
- class file version
-
-
Method Details
-
createField
public static FieldInfo createField(byte[] classFileBytes, int[] offsets, int offset, long version) -
compareTo
- Specified by:
compareTo
in interfaceComparable
-
equals
-
hashCode
public int hashCode() -
getConstant
Return the constant of the field. Return org.aspectj.org.eclipse.jdt.internal.compiler.impl.Constant.NotAConstant if there is none.- Specified by:
getConstant
in interfaceIBinaryField
- Returns:
- org.aspectj.org.eclipse.jdt.internal.compiler.impl.Constant
-
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 interfaceIBinaryField
-
getModifiers
public int getModifiers()Answer an int whose bits are set according the access constants defined by the VM spec. Set the AccDeprecated and AccSynthetic bits if necessary- Specified by:
getModifiers
in interfaceIGenericField
- Returns:
- int
-
getName
public char[] getName()Answer the name of the field.- Specified by:
getName
in interfaceIBinaryField
- 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 interfaceIBinaryField
-
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 interfaceIBinaryField
- Returns:
- char[]
-
getAnnotations
Description copied from interface:IBinaryField
Answer the runtime visible and invisible annotations for this field or null if none.- Specified by:
getAnnotations
in interfaceIBinaryField
- Returns:
- the annotations or null if there is none.
-
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 interfaceIBinaryField
-
getWrappedConstantValue
Return a wrapper that contains the constant of the field.- Returns:
- java.lang.Object
-
hasConstant
public boolean hasConstant()Return true if the field has a constant value attribute, false otherwise.- Returns:
- boolean
-
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. -
isSynthetic
public boolean isSynthetic()Return true if the field is a synthetic field, false otherwise.- Returns:
- boolean
-
sizeInBytes
public int sizeInBytes()Answer the size of the receiver in bytes.- Returns:
- int
-
throwFormatException
- Throws:
ClassFormatException
-
toString
-
toStringContent
-