/** * Visits an annotation on the type of the field. * * @param typeRef a reference to the annotated type. The sort of this type reference must be * {@link TypeReference#FIELD FIELD}. See {@link TypeReference}. * @param typePath the path to the annotated type argument, wildcard bound, array element type, or * static inner type within 'typeRef'. May be <tt>null</tt> if the annotation targets * 'typeRef' as a whole. * @param desc the class descriptor of the annotation class. * @param visible <tt>true</tt> if the annotation is visible at runtime. * @return a visitor to visit the annotation values, or <tt>null</tt> if this visitor is not * interested in visiting this annotation. */ public AnnotationVisitor visitTypeAnnotation( int typeRef, TypePath typePath, String desc, boolean visible) { if (api < Opcodes.ASM5) { throw new RuntimeException(); } if (fv != null) { return fv.visitTypeAnnotation(typeRef, typePath, desc, visible); } return null; }
@Override public AnnotationVisitor visit( String annotationTypeDescriptor, boolean visible, int typeReference, String typePath) { return fieldVisitor.visitTypeAnnotation( typeReference, TypePath.fromString(typePath), annotationTypeDescriptor, visible); }