Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [aspectj-users] AOP tools

> #: mohan.radhakrishnan@xxxxxxxxxxxxx changed the world a bit 
> at a time by saying on  9/15/2005 3:37 
> PM :#
> > Hi,
> >      Actually I was trying to see if we could prototype 
> AspectJ using a
> > tool like the one Groovy is using. 
> > 
> > 1. Write some pointcuts in a console. The full code for an 
> aspect and
> > other confugurations are not needed.
> > 2. Apply them and see the result.
> 
> I am worried about this step, as for applying them you 
> already should have written your classes. 
> Probably the mechanims would be to have external 
> sources/bytecode for your classes, imported them in 
> groovy and than weaved. It may become interesting.

  If I'm understanding Mohan correctly, I think he just means a sort of
interactive pointcut matcher, so you could type in a pointcut and you'd
see what matches you get on your inpath, something like this:

C:\>ajsh -inpath myjar1.jar;adir\others.jar

ajsh> call(fi.mypackage.*.*(..)) && !within(fi.mypackage.*);
fi.otherpackage.SomeClass:57  : method-call(double
fi.mypackage.AClass.doSomething(int) : double d =
anObjectFromThatPackage.doSomething(1);
fi.otherpackage.SomeClass:112 : method-call(void
fi.mypackage.XClass.save(int) : x.save();
...

  No weaving is necessary.

  That would be quite a handy tool. = )


  BTW, would something similar be usable in AJDT, i.e. you could click
on a pointcut and see a sort of "wincvs annotation" style list of
matches, like above (with the actual code that matches shown)? The texts
would naturally act as hyperlinks to the actual code, and different
matches could have different background color to make it easy to tell
them apart. The columns could be turned on/off, e.g. if you do not wish
to see what joinpoint matched but just the source code or vice versa. I
think this would complement the present Cross References view nicely (or
maybe this functionality could be added to that view?).
  Sounds cool to me, what do you others think?


 
      .::Antti::.




Back to the top