[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
RE: [aspectj-users] execution pointcut questions
|
Woot, found a bug! Thanks Jim! I'll submit this today.
> -----Original Message-----
> From: Jim Hugunin [mailto:lists@xxxxxxxxxxx]
> Sent: Wednesday, September 03, 2003 12:42 PM
> To: aspectj-users@xxxxxxxxxxx
> Subject: Re: [aspectj-users] execution pointcut questions
>
>
> SADER, KEITH D (Contractor) wrote:
> > I'm trying to set a pointcut like the following
> >
> > pointcut exceptionThrowers() : execution(public *
> my.pkg..*.*(..) throws Exception+);
> >
> > and I've found that the throws Exception+ part of the
> pointcut doesn't work as I expect.
> <snip>
>
> I just confirmed that this is a bug in ajc-1.1.0 (and in
> 1.1.1rc1). The
> '+' on type patterns in throws clauses is ignored. Please
> submit this
> as a bug report to https://dev.eclipse.org (-> Bug Reports) (product
> AspectJ, component Compiler), ideally with a small test case
> showing the
> bug.
>
> <detail>The bug was caused because the code for ThrowsPattern
> mistakenly
> used the internal protected method TypePattern.matchesExactly
> instead of
> the external public method TypePattern.matchesStatically.
> Because the
> classes were in the same package, Java's accessibility rules allowed
> this. It would be nice if there was an easy way to specify that a
> method could only be accessed from subtypes.</detail>
>
> > Second, while using Eclipse to inspect the 'methods
> advised' per advice is nifty, is there a command-line version
> of this in ajc?
>
> I use declare warning to do this, i.e.:
>
> declare warning: exceptionThrowers(): "throws Exception+";
>
> -Jim