package org.checkerframework.framework.util; import java.util.Collection; import javax.lang.model.element.AnnotationMirror; import org.checkerframework.dataflow.qual.SideEffectFree; /** * Converts AnnotationMirrors to Strings For converting AnnotatedTypeMirrors: * * @see org.checkerframework.framework.type.AnnotatedTypeFormatter */ public interface AnnotationFormatter { /** * Converts a collection of annotation mirrors into a String * * @param annos a collection of annotations to print * @param printInvisible whether or not to print "invisible" annotation mirrors * @see org.checkerframework.framework.qual.InvisibleQualifier * @return a string representation of annos */ @SideEffectFree public String formatAnnotationString( Collection<? extends AnnotationMirror> annos, boolean printInvisible); /** * Converts an individual annotation mirror into a String * * @param anno the annotation mirror to convert * @return a String representation of anno */ @SideEffectFree public String formatAnnotationMirror(AnnotationMirror anno); }