Re: [abc-users] How to find places where each piece of advice is woven

From: Eric Bodden <eric.bodden_at_mail.mcgill.ca>
Date: Sat, 10 Jan 2009 10:26:28 +0100

Hi Meisam.

I used the following procedure when using abc:

First I use the class WeavableMethods to iterate through all methods
that may be woven into:

http://musketeer.comlab.ox.ac.uk/javadoc/abc-dev/abc/tm/weaving/weaver/tmanalysis/query/WeavableMethods.html#getAll()

Then for each such method I call getAdviceList(..):

http://musketeer.comlab.ox.ac.uk/javadoc/abc-dev/abc/weaving/aspectinfo/GlobalAspectInfo.html#getAdviceList(SootMethod)

This method returns a MethodAdviceList. Call allAdvice() to retrieve a
list of all AbstractAdviceApplications (if I am not mistaken) that
apply in the given method.

Hope that helps.

Eric

2009/1/10 Meisam Fathi <meisam.fathi_at_gmail.com>:
> Hi there,
> I am a new abc user. I'm working on testing and debugging AspectJ
> programs, and I want to use abc for analyzing source code. What I want
> to do is finding places where advice bodies are woven, i.e. for each
> advice, I want to obtain a list of all places where this advice is
> woven. Obviously, abc computes such a list when it compiles AspectJ
> code, but how can I obtain it. Is what I want available in
> GlobalAspectInfo class, or somewhere esle, or should I develop some
> extra piece of code to obtain it? If some extra code is needed, should I
> add some classes to abc, or should I change some of the existing classes?
>
> Tanks in advance.
> Meisam
>
>

-- 
Eric Bodden
Sable Research Group, McGill University
Montréal, Québec, Canada
Received on Sat Jan 10 2009 - 09:26:32 GMT

This archive was generated by hypermail 2.2.0 : Sat Jan 10 2009 - 12:20:11 GMT