/** Visits the end of the annotation. */ public void visitEnd() { if (av != null) { av.visitEnd(); } } }
public static void accept(DexAnnotationNode ann, MethodVisitor v) { AnnotationVisitor av = v.visitAnnotation(ann.type, ann.visibility != Visibility.BUILD); if (av != null) { accept(ann.items, av); av.visitEnd(); } }
public static void acceptParameter(DexAnnotationNode ann, int index, MethodVisitor v) { AnnotationVisitor av = v.visitParameterAnnotation(index, ann.type, ann.visibility != Visibility.BUILD); if (av != null) { accept(ann.items, av); av.visitEnd(); } }
public static void accept(DexAnnotationNode ann, ClassVisitor v) { AnnotationVisitor av = v.visitAnnotation(ann.type, ann.visibility != Visibility.BUILD); if (av != null) { accept(ann.items, av); av.visitEnd(); } }
public static void accept(DexAnnotationNode ann, FieldVisitor v) { AnnotationVisitor av = v.visitAnnotation(ann.type, ann.visibility != Visibility.BUILD); if (av != null) { accept(ann.items, av); av.visitEnd(); } }
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 = mv.visitAnnotationDefault(); MethodFlow.acceptAnnotation(av, null, mf.annotationDefault); av.visitEnd();
if (av != null) { accept(av, null, defaultValue); av.visitEnd();
annotationVisitor.visitEnd();
public void visitEnd() { av.visitEnd(); }
AnnotationVisitor v = annotationValue.getAnnotationVisitor(); v.visit("value", Type.getObjectType(nullnessAnnotationType.getClassName())); v.visitEnd();
readElementValue(annotationVisitor, annotationDefaultOffset, null, charBuffer); if (annotationVisitor != null) { annotationVisitor.visitEnd();
interceptorTypeAnn.visit(null, interceptorType); interceptorTypeAnn.visitEnd();
private static void visitAnnotation(MethodVisitor mv, String descriptor) { AnnotationVisitor av = mv.visitAnnotation(descriptor, true); checkNotNull(av); av.visitEnd(); } }
private static void addOnAfterMethodTimerOnly(ClassWriter cw) { MethodVisitor mv = cw.visitMethod(ACC_PUBLIC + ACC_STATIC, "onAfter", "(Lorg/glowroot/agent/plugin/api/Timer;)V", null, null); visitAnnotation(mv, "Lorg/glowroot/agent/plugin/api/weaving/OnAfter;"); checkNotNull(mv.visitParameterAnnotation(0, "Lorg/glowroot/agent/plugin/api/weaving/BindTraveler;", true)).visitEnd(); mv.visitCode(); mv.visitVarInsn(ALOAD, 0); mv.visitMethodInsn(INVOKEINTERFACE, "org/glowroot/agent/plugin/api/Timer", "stop", "()V", true); mv.visitInsn(RETURN); mv.visitMaxs(0, 0); mv.visitEnd(); }