Re: [aspectj-users] AbstractMethodError calling method defined on class receiving ITD of same method

2013-04-02 Thread Matthew Adams
Hey, Andy, what did you decide to do with this scenario? Will this just remain a StupidUserError, or will a future version of the compiler emit an error? FWIW, I definitely favor the latter. I readily espouse the virtue of laziness http://c2.com/cgi/wiki?LazinessImpatienceHubris , and the

Re: [aspectj-users] AbstractMethodError calling method defined on class receiving ITD of same method

2013-04-01 Thread Andy Clement
Hmmm, I had to fix up some of your sample code there as it doesn't actually work as it is. (Is Go an annotation or an aspect - you've used it as both...) I changed it to this: === Foo.java @Go public class Foo { public void go() { System.out.println(go); } } === Go.java import

Re: [aspectj-users] AbstractMethodError calling method defined on class receiving ITD of same method

2013-04-01 Thread Matthew Adams
On Mon, Apr 1, 2013 at 10:13 AM, Andy Clement andrew.clem...@gmail.comwrote: Hmmm, I had to fix up some of your sample code there as it doesn't actually work as it is. (Is Go an annotation or an aspect - you've used it as both...) Sorry for the Go confusion. I was giving the shape of the

Re: [aspectj-users] AbstractMethodError calling method defined on class receiving ITD of same method

2013-04-01 Thread Matthew Adams
FTR, for anyone paying attention, I was attempting to introduce an ITD method marked as private in the declaring aspect into a class that had the same method but that was marked public and the compiler was not emitting a warning or an error, so it went bang at runtime. On Mon, Apr 1, 2013 at

[aspectj-users] AbstractMethodError calling method defined on class receiving ITD of same method

2013-03-28 Thread Matthew Adams
Hi all, I want to make sure I haven't misunderstood AspectJ's treatment of the following scenario, as I'm getting an AbstractMethodError in 1.7.2. Conceptual code example follows. @Go public class Foo { public void go() { System.out.println(go); } } = public aspect Go { public interface