[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] (no subject)
|
Instead of printing the function calls, can i store each function in a file further use?
How can a graph be stored? Which data structure would be suitable for it?
On Thu, Oct 27, 2011 at 2:54 PM, Shambhavi Joshi
<shambhavi.jj@xxxxxxxxx> wrote:
HelloI wanted some clarifications regarding your code.
What does this statement do? "call(* *(..)) && !within(CallGraph)"
I guess this statement checks for any function call but not within the given aspect CallGraph. But still, could you please throw light on the syntax used in the statement?
Thank You
Hi,
I don't have a complete solution for you to pick up and use but this
aspect kind of does it:
aspect CallGraph {
int indent =0;
before(): call(* *(..)) && !within(CallGraph) {
for (int i=0;i<indent;i++) { System.out.print(" ");}
System.out.println("> "+thisJoinPointStaticPart);
indent++;
}
after(): call(* *(..))&& !within(CallGraph) {
indent--;
}
}
public class Code {
public static void main(String []argv) {
new Code().foo();
new Code().bar();
}
public void foo() {
bar();
}
public void bar() {
boo();
}
public void boo() {
System.out.println("Hello World");
}
}
Running it gives:
$ java Code
> call(void Code.foo())
> call(void Code.bar())
> call(void Code.boo())
> call(void java.io.PrintStream.println(String))
Hello World
> call(void Code.bar())
> call(void Code.boo())
> call(void java.io.PrintStream.println(String))
Hello World
Andy
--
Shambhavi Joshi
--
Shambhavi Joshi