/** * Visits a nested annotation value of the annotation. * * @param name the value name. * @param descriptor the class descriptor of the nested annotation class. * @return a visitor to visit the actual nested annotation value, or {@literal null} 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(final String name, final String descriptor) { if (av != null) { return av.visitAnnotation(name, descriptor); } return null; }
public AnnotationVisitor visitAnnotation(String name, String desc) { return getInstance(av1.visitAnnotation(name, desc), av2.visitAnnotation(name, desc)); }
public AnnotationVisitor visitAnnotation(String name, String desc) { return getInstance(av1.visitAnnotation(name, desc), av2.visitAnnotation(name, desc)); }
public static void acceptAnnotation(final AnnotationVisitor av, final String name, final Object value) { if (value instanceof String[]) { String[] typeconst = (String[]) value; av.visitEnum(name, typeconst[0], typeconst[1]); } 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); List<?> array = (List<?>) value; for (int j = 0; j < array.size(); ++j) { acceptAnnotation(v, null, array.get(j)); } v.visitEnd(); } else { av.visit(name, value); } }
AnnotationVisitor av = dav.visitAnnotation(name, ann.type); if (av != null) { for (DexAnnotationNode.Item item : ann.items) {
} else if (elem instanceof AnnotationAnnotationElem) { AnnotationAnnotationElem aElem = (AnnotationAnnotationElem) elem; AnnotationVisitor aVisitor = av.visitAnnotation(aElem.getName(), aElem.getValue().getType()); generateAnnotationElems(aVisitor, aElem.getValue().getElems(), true); } else {
public AnnotationVisitor visitAnnotation(String name, String desc) { desc = processDescriptor(sourceType, desc); return new AnnotationProcessor(desc, av.visitAnnotation(name, desc)); }
currentOffset = readElementValues( annotationVisitor.visitAnnotation(elementName, readUTF8(currentOffset, charBuffer)), currentOffset + 2, true,
case '@': // annotation_value v = readAnnotationValues(v + 2, buf, true, av.visitAnnotation(name, readUTF8(v, buf))); break; case '[': // array_value
@Override public void write(AnnotationVisitor visitor, Object value) { ref.doWrite(ref.annType.cast(value), visitor.visitAnnotation(name, ref.typeDescriptor)); } };
@Override public AnnotationVisitor visitAnnotation(String name, String desc) { addDesc(desc); AnnotationVisitor ann = super.visitAnnotation(name, desc); if (ann != null) return new AnnotationVisit( Opcodes.ASM5, ann); return null; }
@Override public void write(AnnotationVisitor visitor, Object value) { int len = Array.getLength(value); AnnotationVisitor arrayVisitor = visitor.visitArray(name); for (int i = 0; i < len; i++) { ref.doWrite( ref.annType.cast(Array.get(value, i)), arrayVisitor.visitAnnotation(null, ref.typeDescriptor)); } arrayVisitor.visitEnd(); } };
@Override public AnnotationVisitor visitAnnotation(final String name, final String descriptor) { AnnotationVisitor annotationVisitor = super.visitAnnotation(name, remapper.mapDesc(descriptor)); if (annotationVisitor == null) { return null; } else { return annotationVisitor == av ? this : new AnnotationRemapper(api, annotationVisitor, remapper); } }
@Override public AnnotationVisitor visitAnnotation(final String name, final String descriptor) { AnnotationVisitor annotationVisitor = av.visitAnnotation(name, remapper.mapDesc(descriptor)); return annotationVisitor == null ? null : (annotationVisitor == av ? this : new RemappingAnnotationAdapter(annotationVisitor, remapper)); }
@Override public AnnotationVisitor visitAnnotation(final String name, final String descriptor) { AnnotationVisitor annotationVisitor = av.visitAnnotation(name, remapper.mapDesc(descriptor)); return annotationVisitor == null ? null : (annotationVisitor == av ? this : new RemappingAnnotationAdapter(annotationVisitor, remapper)); }
@Override public AnnotationVisitor visitAnnotation(final String name, final String descriptor) { AnnotationVisitor annotationVisitor = super.visitAnnotation(name, remapper.mapDesc(descriptor)); if (annotationVisitor == null) { return null; } else { return annotationVisitor == av ? this : new AnnotationRemapper(api, annotationVisitor, remapper); } }
@Override public AnnotationVisitor visitAnnotation(final String name, final String descriptor) { AnnotationVisitor annotationVisitor = av.visitAnnotation(name, remapper.mapDesc(descriptor)); return annotationVisitor == null ? null : (annotationVisitor == av ? this : new RemappingAnnotationAdapter(annotationVisitor, remapper)); }
public AnnotationVisitor visitAnnotation( final String name, final String desc) { if (name != null) { cp.newUTF8(name); } cp.newUTF8(desc); return new AnnotationConstantsCollector(av.visitAnnotation(name, desc), cp); }
@Override public AnnotationVisitor visitAnnotation(final String name, final String desc) { checkEnd(); checkName(name); CheckMethodAdapter.checkDesc(desc, false); return new CheckAnnotationAdapter(av == null ? null : av.visitAnnotation(name, desc)); }
@Override public AnnotationVisitor visitAnnotation(final String name, final String descriptor) { checkVisitEndNotCalled(); checkName(name); // Annotations can only appear in V1_5 or more classes. CheckMethodAdapter.checkDescriptor(Opcodes.V1_5, descriptor, false); return new CheckAnnotationAdapter(super.visitAnnotation(name, descriptor)); }