Hi,

I have a class X that has two associations to Y class as follow :

public class X {

private Y y1;
private Y y2;

public Y getY1() {
return y1;
}

public void setY1(Y y) {
this.y1 = y;
}

public Y getY2() {
return y2;
}

public void setY2(Y y) {
this.y2 = y;
}
}

Nothing special for class Y.

I have an aspect like this which is OK, but  access() point cut does not 
capture 
anything. Fine.


public aspect OneToOneAspect {

pointcut access() : execution(Y X.a*());
after() : access() {
System.out.println("Access");
}
}

But, if I add similar method signature like Y X.a*() but for declare @method, I 
had compilation error:
[error] The method 'public com.arizal.business.Y com.arizal.business.X.a*()' 
does not exist

The aspect after declare addition is the following:
public aspect OneToOneAspect {

declare @method : public Y X.a*(): @OneToOneAccessor;
pointcut access() : execution(Y X.a*());
after() : access() {
System.out.println("Access");
}
}

Why the pointcut definition does not throw error while the declare method does 
? 
 Is it expected ?

I would prefer to have compilation error in both cases. Is it possible ?

Cheers,
Anwar .



      
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users

Reply via email to