Looks like the feature you describe is a vaporware: http://en.wikipedia.org/wiki/Vaporware
The bug do not have any patch attachment and I'm unable to find the code in latest source code release of AspectJ. At runtime I get no substitution: "warning at com.test.LookupSvcBD.java:411::0 Please change EJB remoteSignature to local call: %DT%.%N%" So many related bugs under 48080 have been closed and at the end we get no improvement of any kind. Declare warning/error is executed by AspectJ compiler so I don't think it's awkward that it compile declare section to be executed. -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Andy Clement Sent: Wednesday, March 03, 2010 1:02 PM To: [email protected] Subject: Re: [aspectj-users] Can we access any static join point information in declare error/warning? Declare warning and error are matched during compilation. This means it would be a little awkward to run any code being compiled as part of producing the message. However, with appropriate definition of inserts, we are basically talking about the same feature: %DT% - declaring type name %N% - name declare warning: call(* Hello.*(..)): "Illegal call to %DT%.%N%(..)"; Andy On 3 March 2010 09:34, Sebastien Tardif <[email protected]> wrote: > This bug exist: https://bugs.eclipse.org/bugs/show_bug.cgi?id=48080 > > The following syntax is obviously very natural and I was surprise it doesn't > work: > > declare warning: call(* Hello.*(..)) { > Signature sig = thisJoinPointStaticPart.getSignature(); > return "Illegal call to " + sig.getDeclaringType().getName() + > "." + sig.getName() + "(..)"; > } > > > ________________________________ > > From: [email protected] on behalf of Andy Clement > Sent: Wed 3/3/2010 12:17 PM > To: [email protected] > Subject: Re: [aspectj-users] Can we access any static join point information > in declare error/warning? > > > > I thought we already had an enhancement request open for that, but I > couldn't find it. Feel free to raise it. But just to check we both > mean the same thing, in my mind this feature means the static join > point information can be inserted into the message string: > > declare warning: execution(@Foo *(..)): "Method %M is annotated Foo!!"; > > Is that what you mean too? > > You can get some way along by registering your own message handler > with AspectJ and processing declare errors/warnings in it. It at > least gives you the source location to do some extra processing and > possibly augment the text, but I can't quite recall it if gives you > the joinpoint too. > > Andy > > On 2 March 2010 19:05, Sebastien Tardif <[email protected]> wrote: >> Can we access any static join point information in declare error/warning >> message? >> >> Looks like that should be easy to support. >> >> I want to use this feature to error out only on new policy violation, so >> first pass is to use warning to find all the violation, and I prefer getting >> a useful string so that it is easy to copy/paste to the declare error. >> >> End result will be that legacy policy violation will show warning, new >> policy violation will generate error. >> >> >> _______________________________________________ >> aspectj-users mailing list >> [email protected] >> https://dev.eclipse.org/mailman/listinfo/aspectj-users >> >> > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > > > _______________________________________________ > aspectj-users mailing list > [email protected] > https://dev.eclipse.org/mailman/listinfo/aspectj-users > > _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users _______________________________________________ aspectj-users mailing list [email protected] https://dev.eclipse.org/mailman/listinfo/aspectj-users
