kopie van
https://github.com/eclipse-aspectj/aspectj.git
synced 2024-09-03 05:54:57 +02:00
6cceb1b9c3
duplicate warning or second join point for constructor-execution
35 regels
760 B
Java
35 regels
760 B
Java
|
|
|
|
import org.aspectj.testing.Tester;
|
|
|
|
/** @testcase PR#36778 advise join points in subclass of empty interface */
|
|
public class EmptyInterface {
|
|
|
|
public static void main(String[] args) {
|
|
new C().go();
|
|
// at least constructor and method execution
|
|
if (2 > Log.hits) {
|
|
Tester.check(false, Log.log.toString());
|
|
}
|
|
}
|
|
}
|
|
|
|
aspect Log {
|
|
static int hits;
|
|
static StringBuffer log = new StringBuffer();
|
|
interface LoggedType {
|
|
}
|
|
declare parents: C implements LoggedType;
|
|
after(): within(LoggedType+)
|
|
//&& !initialization(new(..))
|
|
//&& !preinitialization(new(..)) // 1.1 only
|
|
{
|
|
hits++;
|
|
log.append(thisJoinPoint + ";");
|
|
}
|
|
}
|
|
|
|
class C {
|
|
void go() {}
|
|
}
|