On Tue, Jan 27, 2015 at 12:55 PM, Stephen Connolly
<
stephen.al...@gmail.com> wrote:
> now jesse has signed up for a third fight
Well, I see a lot of problems with using AspectJ as well, starting
with the novel source language. I just wonder if there is any less
controversial technique that would be powerful enough to handle the
kinds of signature changes we would like to make.
The single most important use case seems to be injection of a (static
or instance) method into an existing class, which could perhaps be
solved with an annotation on a static method living in another module
(and taking an explicit receiver argument if necessary). For example,
this would have let getTestResultAction be deleted entirely from
AbstractBuild.java, with a method somewhere in junit-plugin
@Compatibility public static AbstractTestResultAction
getTestResultAction(AbstractBuild $this) {
return $this.getAction(AbstractTestResultAction.class);
}
There are some other more marginal cases involving field references and so on.