AbstractMessager
Ron Shapiro
ronshapiro at google.com
Fri Jul 19 20:09:20 UTC 2019
In a number of processors that I've implemented, I've wanted to wrap a
Messager instance to track if I've printed a diagnostic with an ERROR kind
so I can know to abort any generation if the inputs are invalid.
There are a number of ways to do this, but what always feels like would be
most natural is to be able to create a ForwardingMessager of some sort. I
think the easiest way to do this is if there were already an
AbstractMessager class, so I wanted to propose adding it to the JSR 269
APIs.
The implementation would be rather simple, just telescoping the calls with
`null` arguments, just like JavacMessager works.
@Override
public void printMessage(Diagnostic.Kind kind, CharSequence msg) {
printMessage(kind, msg, null);
}
@Override
public void printMessage(Diagnostic.Kind kind, CharSequence msg, Element e)
{
printMessage(kind, msg, e, null);
}
// etc
Alternatively, the methods could become default methods, which is probably
the easiest change and doesn't introduce a new type.
Does something like this make sense?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.java.net/pipermail/compiler-dev/attachments/20190719/6c6cad99/attachment.html>
More information about the compiler-dev
mailing list