public interface Messager
A Messager
provides the way for an annotation processor to report error messages, warnings, and other notices. Elements, annotations, and annotation values can be passed to provide a location hint for the message. However, such location hints may be unavailable or only approximate.
Printing a message with an error kind will raise an error.
Note that the messages "printed" by methods in this interface may or may not appear as textual output to a location like System.out
or System.err
. Implementations may choose to present this information in a different fashion, such as messages in a window.
ProcessingEnvironment.getLocale()
void printMessage(Diagnostic.Kind kind, CharSequence msg)
Prints a message of the specified kind.
kind
- the kind of messagemsg
- the message, or an empty string if nonevoid printMessage(Diagnostic.Kind kind, CharSequence msg, Element e)
Prints a message of the specified kind at the location of the element.
kind
- the kind of messagemsg
- the message, or an empty string if nonee
- the element to use as a position hintvoid printMessage(Diagnostic.Kind kind, CharSequence msg, Element e, AnnotationMirror a)
Prints a message of the specified kind at the location of the annotation mirror of the annotated element.
kind
- the kind of messagemsg
- the message, or an empty string if nonee
- the annotated elementa
- the annotation to use as a position hintvoid printMessage(Diagnostic.Kind kind, CharSequence msg, Element e, AnnotationMirror a, AnnotationValue v)
Prints a message of the specified kind at the location of the annotation value inside the annotation mirror of the annotated element.
kind
- the kind of messagemsg
- the message, or an empty string if nonee
- the annotated elementa
- the annotation containing the annotation valuev
- the annotation value to use as a position hint
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.