public class ASMifierAnnotationVisitor extends AbstractVisitor implements AnnotationVisitor
AnnotationVisitor
that prints the ASM code that generates the
annotations it visits.Modifier and Type | Field and Description |
---|---|
protected int |
id
Identifier of the annotation visitor variable in the produced code.
|
buf, OPCODES, text, TYPES
Constructor and Description |
---|
ASMifierAnnotationVisitor(int id)
Constructs a new
ASMifierAnnotationVisitor . |
Modifier and Type | Method and Description |
---|---|
void |
visit(String name,
Object value)
Visits a primitive value of the annotation.
|
AnnotationVisitor |
visitAnnotation(String name,
String desc)
Visits a nested annotation value of the annotation.
|
AnnotationVisitor |
visitArray(String name)
Visits an array value of the annotation.
|
void |
visitEnd()
Visits the end of the annotation.
|
void |
visitEnum(String name,
String desc,
String value)
Visits an enumeration value of the annotation.
|
appendString, getDefaultAttributes, getText, print
protected final int id
public ASMifierAnnotationVisitor(int id)
ASMifierAnnotationVisitor
.id
- identifier of the annotation visitor variable in the produced
code.public void visit(String name, Object value)
AnnotationVisitor
visit
in interface AnnotationVisitor
name
- the value name.value
- the actual value, whose type must be Byte
,
Boolean
, Character
, Short
,
Integer
, Long
, Float
, Double
,
String
or Type
. This value can also be an array
of byte, boolean, short, char, int, long, float or double values
(this is equivalent to using visitArray
and
visiting each array element in turn, but is more convenient).public void visitEnum(String name, String desc, String value)
AnnotationVisitor
visitEnum
in interface AnnotationVisitor
name
- the value name.desc
- the class descriptor of the enumeration class.value
- the actual enumeration value.public AnnotationVisitor visitAnnotation(String name, String desc)
AnnotationVisitor
visitAnnotation
in interface AnnotationVisitor
name
- the value name.desc
- the class descriptor of the nested annotation class.public AnnotationVisitor visitArray(String name)
AnnotationVisitor
visit
. This is what
ClassReader
does.visitArray
in interface AnnotationVisitor
name
- the value name.public void visitEnd()
AnnotationVisitor
visitEnd
in interface AnnotationVisitor
Copyright © 2018. All rights reserved.