Module org.eclipse.persistence.asm
Class FieldNode
- java.lang.Object
-
- org.eclipse.persistence.internal.libraries.asm.FieldVisitor
-
- org.eclipse.persistence.internal.libraries.asm.tree.FieldNode
-
public class FieldNode extends FieldVisitor
A node that represents a field.- Author:
- Eric Bruneton
-
-
Field Summary
Fields Modifier and Type Field Description intaccessThe field's access flags (seeOpcodes).List<Attribute>attrsThe non standard attributes of this field.StringdescThe field's descriptor (seeType).List<AnnotationNode>invisibleAnnotationsThe runtime invisible annotations of this field.List<TypeAnnotationNode>invisibleTypeAnnotationsThe runtime invisible type annotations of this field.StringnameThe field's name.StringsignatureThe field's signature.ObjectvalueThe field's initial value.List<AnnotationNode>visibleAnnotationsThe runtime visible annotations of this field.List<TypeAnnotationNode>visibleTypeAnnotationsThe runtime visible type annotations of this field.-
Fields inherited from class org.eclipse.persistence.internal.libraries.asm.FieldVisitor
api, fv
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaccept(ClassVisitor classVisitor)Makes the given class visitor visit this field.voidcheck(int api)Checks that this field node is compatible with the given ASM API version.AnnotationVisitorvisitAnnotation(String descriptor, boolean visible)Visits an annotation of the field.voidvisitAttribute(Attribute attribute)Visits a non standard attribute of the field.voidvisitEnd()Visits the end of the field.AnnotationVisitorvisitTypeAnnotation(int typeRef, TypePath typePath, String descriptor, boolean visible)Visits an annotation on the type of the field.
-
-
-
Field Detail
-
access
public int access
The field's access flags (seeOpcodes). This field also indicates if the field is synthetic and/or deprecated.
-
name
public String name
The field's name.
-
signature
public String signature
The field's signature. May be null.
-
value
public Object value
-
visibleAnnotations
public List<AnnotationNode> visibleAnnotations
The runtime visible annotations of this field. May be null.
-
invisibleAnnotations
public List<AnnotationNode> invisibleAnnotations
The runtime invisible annotations of this field. May be null.
-
visibleTypeAnnotations
public List<TypeAnnotationNode> visibleTypeAnnotations
The runtime visible type annotations of this field. May be null.
-
invisibleTypeAnnotations
public List<TypeAnnotationNode> invisibleTypeAnnotations
The runtime invisible type annotations of this field. May be null.
-
-
Constructor Detail
-
FieldNode
public FieldNode(int access, String name, String descriptor, String signature, Object value)Constructs a newFieldNode. Subclasses must not use this constructor. Instead, they must use theFieldNode(int, int, String, String, String, Object)version.- Parameters:
access- the field's access flags (seeOpcodes). This parameter also indicates if the field is synthetic and/or deprecated.name- the field's name.descriptor- the field's descriptor (seeType).signature- the field's signature.value- the field's initial value. This parameter, which may be null if the field does not have an initial value, must be anInteger, aFloat, aLong, aDoubleor aString.- Throws:
IllegalStateException- If a subclass calls this constructor.
-
FieldNode
public FieldNode(int api, int access, String name, String descriptor, String signature, Object value)Constructs a newFieldNode.- Parameters:
api- the ASM API version implemented by this visitor. Must be one ofOpcodes.ASM4,Opcodes.ASM5,Opcodes.ASM6,Opcodes.ASM7,Opcodes.ASM8orOpcodes.ASM9.access- the field's access flags (seeOpcodes). This parameter also indicates if the field is synthetic and/or deprecated.name- the field's name.descriptor- the field's descriptor (seeType).signature- the field's signature.value- the field's initial value. This parameter, which may be null if the field does not have an initial value, must be anInteger, aFloat, aLong, aDoubleor aString.
-
-
Method Detail
-
visitAnnotation
public AnnotationVisitor visitAnnotation(String descriptor, boolean visible)
Description copied from class:FieldVisitorVisits an annotation of the field.- Overrides:
visitAnnotationin classFieldVisitor- Parameters:
descriptor- the class descriptor of the annotation class.visible- true if the annotation is visible at runtime.- Returns:
- a visitor to visit the annotation values, or null if this visitor is not interested in visiting this annotation.
-
visitTypeAnnotation
public AnnotationVisitor visitTypeAnnotation(int typeRef, TypePath typePath, String descriptor, boolean visible)
Description copied from class:FieldVisitorVisits an annotation on the type of the field.- Overrides:
visitTypeAnnotationin classFieldVisitor- Parameters:
typeRef- a reference to the annotated type. The sort of this type reference must beTypeReference.FIELD. SeeTypeReference.typePath- the path to the annotated type argument, wildcard bound, array element type, or static inner type within 'typeRef'. May be null if the annotation targets 'typeRef' as a whole.descriptor- the class descriptor of the annotation class.visible- true if the annotation is visible at runtime.- Returns:
- a visitor to visit the annotation values, or null if this visitor is not interested in visiting this annotation.
-
visitAttribute
public void visitAttribute(Attribute attribute)
Description copied from class:FieldVisitorVisits a non standard attribute of the field.- Overrides:
visitAttributein classFieldVisitor- Parameters:
attribute- an attribute.
-
visitEnd
public void visitEnd()
Description copied from class:FieldVisitorVisits the end of the field. This method, which is the last one to be called, is used to inform the visitor that all the annotations and attributes of the field have been visited.- Overrides:
visitEndin classFieldVisitor
-
check
public void check(int api)
Checks that this field node is compatible with the given ASM API version. This method checks that this node, and all its children recursively, do not contain elements that were introduced in more recent versions of the ASM API than the given version.- Parameters:
api- an ASM API version. Must be one ofOpcodes.ASM4,Opcodes.ASM5,Opcodes.ASM6orOpcodes.ASM7.
-
accept
public void accept(ClassVisitor classVisitor)
Makes the given class visitor visit this field.- Parameters:
classVisitor- a class visitor.
-
-