Package org.objectweb.asm.tree
Class FieldNode
- java.lang.Object
-
- org.objectweb.asm.FieldVisitor
-
- org.objectweb.asm.tree.FieldNode
-
public class FieldNode extends FieldVisitor
A node that represents a field.
-
-
Field Summary
Fields Modifier and Type Field Description int
access
The field's access flags (seeOpcodes
).List<Attribute>
attrs
The non standard attributes of this field.String
desc
The field's descriptor (seeType
).List<AnnotationNode>
invisibleAnnotations
The runtime invisible annotations of this field.List<TypeAnnotationNode>
invisibleTypeAnnotations
The runtime invisible type annotations of this field.String
name
The field's name.String
signature
The field's signature.Object
value
The field's initial value.List<AnnotationNode>
visibleAnnotations
The runtime visible annotations of this field.List<TypeAnnotationNode>
visibleTypeAnnotations
The runtime visible type annotations of this field.-
Fields inherited from class org.objectweb.asm.FieldVisitor
api, fv
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(ClassVisitor classVisitor)
Makes the given class visitor visit this field.void
check(int api)
Checks that this field node is compatible with the given ASM API version.AnnotationVisitor
visitAnnotation(String descriptor, boolean visible)
Visits an annotation of the field.void
visitAttribute(Attribute attribute)
Visits a non standard attribute of the field.void
visitEnd()
Visits the end of the field.AnnotationVisitor
visitTypeAnnotation(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
, aDouble
or 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
. Subclasses must not use this constructor.- Parameters:
api
- the ASM API version implemented by this visitor. Must be one ofOpcodes.ASM4
orOpcodes.ASM5
.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
, aDouble
or aString
.
-
-
Method Detail
-
visitAnnotation
public AnnotationVisitor visitAnnotation(String descriptor, boolean visible)
Description copied from class:FieldVisitor
Visits an annotation of the field.- Overrides:
visitAnnotation
in 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:FieldVisitor
Visits an annotation on the type of the field.- Overrides:
visitTypeAnnotation
in 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:FieldVisitor
Visits a non standard attribute of the field.- Overrides:
visitAttribute
in classFieldVisitor
- Parameters:
attribute
- an attribute.
-
visitEnd
public void visitEnd()
Description copied from class:FieldVisitor
Visits 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:
visitEnd
in 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.ASM6
orOpcodes.ASM7
.
-
accept
public void accept(ClassVisitor classVisitor)
Makes the given class visitor visit this field.- Parameters:
classVisitor
- a class visitor.
-
-