src/share/classes/jdk/internal/org/objectweb/asm/AnnotationVisitor.java

Print this page

        

*** 68,78 **** */ public abstract class AnnotationVisitor { /** * The ASM API version implemented by this visitor. The value of this field ! * must be one of {@link Opcodes#ASM4}. */ protected final int api; /** * The annotation visitor to which this visitor must delegate method calls. --- 68,78 ---- */ public abstract class AnnotationVisitor { /** * The ASM API version implemented by this visitor. The value of this field ! * must be one of {@link Opcodes#ASM4} or {@link Opcodes#ASM5}. */ protected final int api; /** * The annotation visitor to which this visitor must delegate method calls.
*** 81,124 **** protected AnnotationVisitor av; /** * Constructs a new {@link AnnotationVisitor}. * ! * @param api the ASM API version implemented by this visitor. Must be one ! * of {@link Opcodes#ASM4}. */ public AnnotationVisitor(final int api) { this(api, null); } /** * Constructs a new {@link AnnotationVisitor}. * ! * @param api the ASM API version implemented by this visitor. Must be one ! * of {@link Opcodes#ASM4}. ! * @param av the annotation visitor to which this visitor must delegate * method calls. May be null. */ public AnnotationVisitor(final int api, final AnnotationVisitor av) { ! /*if (api != Opcodes.ASM4) { throw new IllegalArgumentException(); ! }*/ this.api = api; this.av = av; } /** * Visits a primitive value of the annotation. * ! * @param name the value name. ! * @param value the actual value, whose type must be {@link Byte}, ! * {@link Boolean}, {@link Character}, {@link Short}, {@link Integer} ! * , {@link Long}, {@link Float}, {@link Double}, {@link String} or ! * {@link Type} or OBJECT or 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 {@link #visitArray visitArray} ! * and visiting each array element in turn, but is more convenient). */ public void visit(String name, Object value) { if (av != null) { av.visit(name, value); } --- 81,130 ---- protected AnnotationVisitor av; /** * Constructs a new {@link AnnotationVisitor}. * ! * @param api ! * the ASM API version implemented by this visitor. Must be one ! * of {@link Opcodes#ASM4} or {@link Opcodes#ASM5}. */ public AnnotationVisitor(final int api) { this(api, null); } /** * Constructs a new {@link AnnotationVisitor}. * ! * @param api ! * the ASM API version implemented by this visitor. Must be one ! * of {@link Opcodes#ASM4} or {@link Opcodes#ASM5}. ! * @param av ! * the annotation visitor to which this visitor must delegate * method calls. May be null. */ public AnnotationVisitor(final int api, final AnnotationVisitor av) { ! if (api != Opcodes.ASM4 && api != Opcodes.ASM5) { throw new IllegalArgumentException(); ! } this.api = api; this.av = av; } /** * Visits a primitive value of the annotation. * ! * @param name ! * the value name. ! * @param value ! * the actual value, whose type must be {@link Byte}, ! * {@link Boolean}, {@link Character}, {@link Short}, ! * {@link Integer} , {@link Long}, {@link Float}, {@link Double}, ! * {@link String} or {@link Type} or OBJECT or 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 ! * {@link #visitArray visitArray} and visiting each array element ! * in turn, but is more convenient). */ public void visit(String name, Object value) { if (av != null) { av.visit(name, value); }
*** 125,137 **** } /** * Visits an enumeration value of the annotation. * ! * @param name the value name. ! * @param desc the class descriptor of the enumeration class. ! * @param value the actual enumeration value. */ public void visitEnum(String name, String desc, String value) { if (av != null) { av.visitEnum(name, desc, value); } --- 131,146 ---- } /** * Visits an enumeration value of the annotation. * ! * @param name ! * the value name. ! * @param desc ! * the class descriptor of the enumeration class. ! * @param value ! * the actual enumeration value. */ public void visitEnum(String name, String desc, String value) { if (av != null) { av.visitEnum(name, desc, value); }
*** 138,153 **** } /** * Visits a nested annotation value of the annotation. * ! * @param name the value name. ! * @param desc the class descriptor of the nested annotation class. * @return a visitor to visit the actual nested annotation value, or ! * <tt>null</tt> if this visitor is not interested in visiting ! * this nested annotation. <i>The nested annotation value must be ! * fully visited before calling other methods on this annotation * visitor</i>. */ public AnnotationVisitor visitAnnotation(String name, String desc) { if (av != null) { return av.visitAnnotation(name, desc); --- 147,164 ---- } /** * Visits a nested annotation value of the annotation. * ! * @param name ! * the value name. ! * @param desc ! * the class descriptor of the nested annotation class. * @return a visitor to visit the actual nested annotation value, or ! * <tt>null</tt> if this visitor is not interested in visiting this ! * nested annotation. <i>The nested annotation value must be fully ! * visited before calling other methods on this annotation * visitor</i>. */ public AnnotationVisitor visitAnnotation(String name, String desc) { if (av != null) { return av.visitAnnotation(name, desc);
*** 159,172 **** * Visits an array value of the annotation. Note that arrays of primitive * types (such as byte, boolean, short, char, int, long, float or double) * can be passed as value to {@link #visit visit}. This is what * {@link ClassReader} does. * ! * @param name the value name. * @return a visitor to visit the actual array value elements, or ! * <tt>null</tt> if this visitor is not interested in visiting ! * these values. The 'name' parameters passed to the methods of this * visitor are ignored. <i>All the array values must be visited * before calling other methods on this annotation visitor</i>. */ public AnnotationVisitor visitArray(String name) { if (av != null) { --- 170,184 ---- * Visits an array value of the annotation. Note that arrays of primitive * types (such as byte, boolean, short, char, int, long, float or double) * can be passed as value to {@link #visit visit}. This is what * {@link ClassReader} does. * ! * @param name ! * the value name. * @return a visitor to visit the actual array value elements, or ! * <tt>null</tt> if this visitor is not interested in visiting these ! * values. The 'name' parameters passed to the methods of this * visitor are ignored. <i>All the array values must be visited * before calling other methods on this annotation visitor</i>. */ public AnnotationVisitor visitArray(String name) { if (av != null) {