TypeAnnotationNode
public class AnnotationNode extends AnnotationVisitor
Modifier and Type | Field | Description |
---|---|---|
java.lang.String |
desc |
The class descriptor of the annotation class.
|
java.util.List<java.lang.Object> |
values |
The name value pairs of this annotation.
|
api, av
Constructor | Description |
---|---|
AnnotationNode(int api,
java.lang.String descriptor) |
Constructs a new
AnnotationNode . |
AnnotationNode(java.lang.String descriptor) |
Constructs a new
AnnotationNode . |
Modifier and Type | Method | Description |
---|---|---|
void |
accept(AnnotationVisitor annotationVisitor) |
Makes the given visitor visit this annotation.
|
void |
check(int api) |
Checks that this annotation node is compatible with the given ASM API version.
|
void |
visit(java.lang.String name,
java.lang.Object value) |
Visits a primitive value of the annotation.
|
AnnotationVisitor |
visitAnnotation(java.lang.String name,
java.lang.String descriptor) |
Visits a nested annotation value of the annotation.
|
AnnotationVisitor |
visitArray(java.lang.String name) |
Visits an array value of the annotation.
|
void |
visitEnd() |
Visits the end of the annotation.
|
void |
visitEnum(java.lang.String name,
java.lang.String descriptor,
java.lang.String value) |
Visits an enumeration value of the annotation.
|
public java.lang.String desc
public java.util.List<java.lang.Object> values
String
, and the value may be a Byte
, Boolean
, Character
, Short
, Integer
, Long
, Float
,
Double
, String
or Type
, or a two elements String
array (for enumeration values), an AnnotationNode
, or a List
of values of one
of the preceding types. The list may be null if there is no name value pair.public AnnotationNode(java.lang.String descriptor)
AnnotationNode
. Subclasses must not use this constructor.
Instead, they must use the AnnotationNode(int, String)
version.descriptor
- the class descriptor of the annotation class.java.lang.IllegalStateException
- If a subclass calls this constructor.public AnnotationNode(int api, java.lang.String descriptor)
AnnotationNode
.api
- the ASM API version implemented by this visitor. Must be one of Opcodes.ASM4
, Opcodes.ASM5
, Opcodes.ASM6
or Opcodes.ASM7_EXPERIMENTAL
.descriptor
- the class descriptor of the annotation class.public void visit(java.lang.String name, java.lang.Object value)
AnnotationVisitor
visit
in class AnnotationVisitor
name
- the value name.value
- the actual value, whose type must be Byte
, Boolean
, Character
, Short
, Integer
, Long
, Float
, Double
,
String
or Type
of Type.OBJECT
or Type.ARRAY
sort. This
value can also be an array of byte, boolean, short, char, int, long, float or double values
(this is equivalent to using AnnotationVisitor.visitArray(java.lang.String)
and visiting each array element in turn,
but is more convenient).public void visitEnum(java.lang.String name, java.lang.String descriptor, java.lang.String value)
AnnotationVisitor
visitEnum
in class AnnotationVisitor
name
- the value name.descriptor
- the class descriptor of the enumeration class.value
- the actual enumeration value.public AnnotationVisitor visitAnnotation(java.lang.String name, java.lang.String descriptor)
AnnotationVisitor
visitAnnotation
in class AnnotationVisitor
name
- the value name.descriptor
- the class descriptor of the nested annotation class.public AnnotationVisitor visitArray(java.lang.String name)
AnnotationVisitor
visit
. This is what ClassReader
does.visitArray
in class AnnotationVisitor
name
- the value name.public void visitEnd()
AnnotationVisitor
visitEnd
in class AnnotationVisitor
public void check(int api)
api
- an ASM API version. Must be one of Opcodes.ASM4
, Opcodes.ASM5
,
Opcodes.ASM6
or Opcodes.ASM7_EXPERIMENTAL
.public void accept(AnnotationVisitor annotationVisitor)
annotationVisitor
- an annotation visitor. Maybe null.