Package org.eclipse.sisu.space.asm
Class FieldWriter
java.lang.Object
org.eclipse.sisu.space.asm.FieldVisitor
org.eclipse.sisu.space.asm.FieldWriter
An
FieldVisitor
that generates Java fields in bytecode form.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final int
Access flags of this field.private AnnotationWriter
The runtime visible annotations of this field.private Attribute
The non standard attributes of this field.private final ClassWriter
The class writer to which this field must be added.private final int
The index of the constant pool item that contains the descriptor of this field.private AnnotationWriter
The runtime invisible annotations of this field.private AnnotationWriter
The runtime invisible type annotations of this field.private final int
The index of the constant pool item that contains the name of this method.private int
The index of the constant pool item that contains the signature of this field.private AnnotationWriter
The runtime visible type annotations of this field.private int
The index of the constant pool item that contains the constant value of this field.Fields inherited from class org.eclipse.sisu.space.asm.FieldVisitor
api, fv
-
Constructor Summary
ConstructorsConstructorDescriptionFieldWriter
(ClassWriter cw, int access, String name, String desc, String signature, Object value) Constructs a newFieldWriter
. -
Method Summary
Modifier and TypeMethodDescription(package private) int
getSize()
Returns the size of this field.(package private) void
put
(ByteVector out) Puts the content of this field into the given byte vector.visitAnnotation
(String desc, boolean visible) Visits an annotation of the field.void
visitAttribute
(Attribute attr) Visits a non standard attribute of the field.void
visitEnd()
Visits the end of the field.visitTypeAnnotation
(int typeRef, TypePath typePath, String desc, boolean visible) Visits an annotation on the type of the field.
-
Field Details
-
cw
The class writer to which this field must be added. -
access
private final int accessAccess flags of this field. -
name
private final int nameThe index of the constant pool item that contains the name of this method. -
desc
private final int descThe index of the constant pool item that contains the descriptor of this field. -
signature
private int signatureThe index of the constant pool item that contains the signature of this field. -
value
private int valueThe index of the constant pool item that contains the constant value of this field. -
anns
The runtime visible annotations of this field. May be null. -
ianns
The runtime invisible annotations of this field. May be null. -
tanns
The runtime visible type annotations of this field. May be null. -
itanns
The runtime invisible type annotations of this field. May be null. -
attrs
The non standard attributes of this field. May be null.
-
-
Constructor Details
-
FieldWriter
FieldWriter(ClassWriter cw, int access, String name, String desc, String signature, Object value) Constructs a newFieldWriter
.
-
-
Method Details
-
visitAnnotation
Description copied from class:FieldVisitor
Visits an annotation of the field.- Overrides:
visitAnnotation
in classFieldVisitor
- Parameters:
desc
- 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 desc, 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 beFIELD
. 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.desc
- 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
Description copied from class:FieldVisitor
Visits a non standard attribute of the field.- Overrides:
visitAttribute
in classFieldVisitor
- Parameters:
attr
- 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
-
getSize
int getSize()Returns the size of this field.- Returns:
- the size of this field.
-
put
Puts the content of this field into the given byte vector.- Parameters:
out
- where the content of this field must be put.
-