/** * 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); } return null; }
@Override public AnnotationVisitor visitAnnotation(String name, String desc) { AnnotationVisitor v = av.visitAnnotation(name, remapper.mapDesc(desc)); return v == null ? null : (v == av ? this : new RemappingAnnotationAdapter(v, remapper)); }
@Override public AnnotationVisitor visitAnnotation(final String name, final String desc) { Printer p = this.p.visitAnnotation(name, desc); AnnotationVisitor av = this.av == null ? null : this.av .visitAnnotation(name, desc); return new TraceAnnotationVisitor(av, p); }
} else if (value instanceof AnnotationNode) { AnnotationNode an = (AnnotationNode) value; an.accept(av.visitAnnotation(name, an.desc)); } else if (value instanceof List) { AnnotationVisitor v = av.visitArray(name);
case '@': // annotation_value v = readAnnotationValues(v + 2, buf, true, av.visitAnnotation(name, readUTF8(v, buf))); break; case '[': // array_value