Package org.eclipse.sisu.space.asm
Class FieldWriter
- java.lang.Object
-
- org.eclipse.sisu.space.asm.FieldVisitor
-
- org.eclipse.sisu.space.asm.FieldWriter
-
final class FieldWriter extends FieldVisitor
AnFieldVisitor
that generates Java fields in bytecode form.
-
-
Field Summary
Fields Modifier and Type Field Description private int
access
Access flags of this field.private AnnotationWriter
anns
The runtime visible annotations of this field.private Attribute
attrs
The non standard attributes of this field.private ClassWriter
cw
The class writer to which this field must be added.private int
desc
The index of the constant pool item that contains the descriptor of this field.private AnnotationWriter
ianns
The runtime invisible annotations of this field.private AnnotationWriter
itanns
The runtime invisible type annotations of this field.private int
name
The index of the constant pool item that contains the name of this method.private int
signature
The index of the constant pool item that contains the signature of this field.private AnnotationWriter
tanns
The runtime visible type annotations of this field.private int
value
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
Constructors Constructor Description FieldWriter(ClassWriter cw, int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
Constructs a newFieldWriter
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (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.AnnotationVisitor
visitAnnotation(java.lang.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.AnnotationVisitor
visitTypeAnnotation(int typeRef, TypePath typePath, java.lang.String desc, boolean visible)
Visits an annotation on the type of the field.
-
-
-
Field Detail
-
cw
private final ClassWriter cw
The class writer to which this field must be added.
-
access
private final int access
Access flags of this field.
-
name
private final int name
The index of the constant pool item that contains the name of this method.
-
desc
private final int desc
The index of the constant pool item that contains the descriptor of this field.
-
signature
private int signature
The index of the constant pool item that contains the signature of this field.
-
value
private int value
The index of the constant pool item that contains the constant value of this field.
-
anns
private AnnotationWriter anns
The runtime visible annotations of this field. May be null.
-
ianns
private AnnotationWriter ianns
The runtime invisible annotations of this field. May be null.
-
tanns
private AnnotationWriter tanns
The runtime visible type annotations of this field. May be null.
-
itanns
private AnnotationWriter itanns
The runtime invisible type annotations of this field. May be null.
-
attrs
private Attribute attrs
The non standard attributes of this field. May be null.
-
-
Constructor Detail
-
FieldWriter
FieldWriter(ClassWriter cw, int access, java.lang.String name, java.lang.String desc, java.lang.String signature, java.lang.Object value)
Constructs a newFieldWriter
.
-
-
Method Detail
-
visitAnnotation
public AnnotationVisitor visitAnnotation(java.lang.String desc, boolean visible)
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, java.lang.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
public void visitAttribute(Attribute attr)
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
void put(ByteVector out)
Puts the content of this field into the given byte vector.- Parameters:
out
- where the content of this field must be put.
-
-