|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
-
- import org.aspectj.testing.Tester;
- import org.aspectj.lang.*;
-
- /** @testcase PR#658 simple call join point tests for JoinPoint SourceLocation context */
- public class SourceLocationCall {
- public static void main(String[] args) {
- new SourceLocationCall().maincall();
- }
- public void maincall(){}
- }
-
- aspect Tracing {
- static void check(String label, JoinPoint jp, JoinPoint.StaticPart sp) {
- // System.err.println("checking " + label + " " + jp + " " + sp
- // + " - " + jp.getSourceLocation()
- // + " - " + sp.getSourceLocation() );
- if (null == jp) {
- Tester.check(false, "null JoinPoint@" + label);
- } else {
- Tester.check(null != jp.getSourceLocation(),
- "null jp source location@" + label);
- }
- if (null == sp) {
- Tester.check(false, "null JoinPoint.StaticPart@"+label);
- } else {
- Tester.check(null != sp.getSourceLocation(),
- "null sp source location@" + label);
- }
- }
- pointcut trace1()
- : call(void SourceLocationCall.maincall(..));
- // ok
- //: within(SourceLocationCall) ;
- //: cflow(execution(void SourceLocationCall.main(String[]))) && !within(Tracing) ;
- //: within(SourceLocationCall) && call(* *(..));
- //: execution(* SourceLocationCall.*(..));
- //: call(void SourceLocationCall.main*(..)) && within(*);
- // fail
- //: call(void SourceLocationCall.main*(..));
- //: call(* SourceLocationCall.*(..));
- //: call(void SourceLocationCall.*(..));
- // same result for static calls and instance calls
- // same result for before and after
- before() : trace1() {
- check("before() : trace1()", thisJoinPoint, thisJoinPointStaticPart);
- }
- after() : trace1() {
- check("after() : trace1()", thisJoinPoint, thisJoinPointStaticPart);
- }
-
- before(): call(void SourceLocationCall.main(..)) {
- Tester.check(thisJoinPoint.getSourceLocation() == null, "main call");
- Tester.check(thisJoinPoint.getThis() == null, "main call");
- }
- }
-
-
|