[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[ajdt-dev] Unexpected behaviour when using Ajdt and recursive functions
|
Hello everybody,
I'm using ajdt 1.5 and Eclipse 3.3.2.
Consider this
scenario: I defined a class RecursiveCalls that has a recursive method inside
(here is the code) :
1package recursivepackage;
2
3public class RecursiveCalls
{
4
5
6 public void recursiveCall(int i){
7 if(i==0) return;
8 recursiveCall
(i-1);
9 }
10
11
12 public void notRecursive(int i){
13 recursiveCall(5);
14
}
15}
I define an aspect with a pointcut and an advice to catch up all the
calls (recursive or not) to the recursiveCall method, in this way.
package
recursivepackage;
public aspect RecursionCatcher {
pointcut recur() : call
(public void RecursiveCalls.recursiveCall(int));
before(): recur() {
//do what is needed-not interesting here
}
}
The editor correctly signals
me the advice relation between line 13 of the class and the before advice.
However, for the recursiveCall method the advice relation is between line 6 and
the advice. I expected it to be between line 8 and the advice. Line 6 should be
present in the case of an execution () pointcut, not a call() one. Am I wrong
or is this an incorrect behaviour? Let me know.