Hi,
We have aspectj code using a really old version of the Aspectj
compiler. This works fine with it, but we want to upgrade to the latest
compiler. When I try to do that, I'm getting a compiler error as follows:
/home/rstone/workspace3/Adbase/src/main/java/com/vms/adbase/presentation/performance/SearchTimer.java:[23,8]
cannot find symbol
symbol : method setTimeout(int)
location: class com.vms.adbase.presentation.performance.SearchTimer
Sorry if this seems like a basic question, but we created a bunch of
aspects years ago and have not upgraded our compiler. Now we need to
and we have several examples like this, where we are adding methods to
an interface, that are just not compiling with the new compiler.
Any ideas on how to fix this?
Thanks,
Rene
Aspect HasTimeoutImple.aj:
package com.vms.adbase.presentation.performance;
public aspect HasTimeoutImpl {
private int HasTimeout.timeout = 0;
public int HasTimeout.getTimeout(){
return timeout;
}
public void HasTimeout.setTimeout(int newTimeout){
timeout = newTimeout;
}
}
Interface HasTimeout.java:
package com.vms.adbase.presentation.performance;
public interface HasTimeout {}
Aspect to add methods to SearchTimer:
package com.vms.adbase.presentation.performance;
import com.vms.adbase.util.sql.SQLUtil;
public aspect TimeoutPropagation{
declare parents : SearchTimer implements HasTimeout;
pointcut sqlUtilConstructions():
call(SQLUtil+.new(..));
pointcut timerMethods(HasTimeout timer) :
execution(* HasTimeout+.*(..)) &&
this(timer);
pointcut sqlUtilConstructionsFromTimer(HasTimeout timer) :
sqlUtilConstructions() && cflow(timerMethods(timer));
after(HasTimeout timer) returning(SQLUtil newSQLUtil) :
sqlUtilConstructionsFromTimer(timer){
newSQLUtil.setTimeout(timer.getTimeout());
}
}
_______________________________________________
aspectj-users mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/aspectj-users