org.aspectj/tests/new/ConstructorExecInitFails.java
jhugunin 5834de9783 Fix for Bugzilla Bug 44587
Erroneous exception conversion 
and Bugzilla Bug 34206  
   before():execution(new(..)) does not throw NoAspectBoundException 

All exceptions that occur during the static intialization of a persingleton
aspect will be swallowed.  When using that aspect (via aspectOf()) 
a NoAspectBoundException will be thrown with the original exception
from the staitc initializer as the cause.
2004-01-14 15:24:06 +00:00

31 lines
895 B
Java

import org.aspectj.testing.*;
import org.aspectj.lang.*;
/**
* -usejavac mode: no error
* not -usejavac mode: VerifyError
*/
public class ConstructorExecInitFails {
public static void main(String[] args) {
try {
new ConstructorExecInitFails();
} catch (NoAspectBoundException e) {
Tester.check(e.getCause() instanceof NoAspectBoundException,
"Expected NoAspectBoundException, found " + e.getCause());
return;
}
Tester.checkFailed("shouldn't be able to run");
}
}
/** @testcase after returning from initialization and after executing constructor */
aspect A {
after (Object target) : execution(*.new(..)) && target(target) {
Tester.checkFailed("shouldn't be able to run");
}
after () returning (Object target) : initialization(new(..)) {
Tester.checkFailed("shouldn't be able to run");
}
}