Browse Source

excluding preinitialization join points from around advice since

that's not implemented (and the test case isn't expecting these
newly added join points)
tags/V_1_1_b2
jhugunin 21 years ago
parent
commit
538f656d07
1 changed files with 7 additions and 7 deletions
  1. 7
    7
      tests/new/PR559.java

+ 7
- 7
tests/new/PR559.java View File

@@ -32,7 +32,7 @@ public class PR559 {
}

interface AspectMarker {
pointcut notInAspect() : ! within(AspectMarker+);
pointcut notInAspect() : ! within(AspectMarker+) && !preinitialization(new(..));
pointcut allTarget() : execution(* Target.*(..)) ;
pointcut allTargetFlow() : cflow(allTarget());
pointcut inTarget() : notInAspect() && allTarget();
@@ -45,17 +45,17 @@ class Target {

class Base implements AspectMarker {
pointcut TargetRun ()
: within(Target) && execution(* *(..)) && !within(AspectMarker+);
: within(Target) && execution(* *(..)) && notInAspect() ;
;
pointcut TargetRunFlow ()
: cflow(within(Target) && execution(* *(..))) && !within(AspectMarker+)
: cflow(within(Target) && execution(* *(..))) && notInAspect()
;
}

/** @testcase PR#559 subaspect advice not run for superclass cflow-based pointcut */
aspect Derived extends Base {
pointcut TargetSubRunFlow ()
: cflow(within(Target) && execution(* *(..))) && !within(AspectMarker+)
: cflow(within(Target) && execution(* *(..))) && notInAspect()
;
Object around () : inTarget() {
Tester.event("inTarget class");
@@ -81,17 +81,17 @@ aspect Derived extends Base {

abstract aspect BaseAspect implements AspectMarker {
pointcut TargetRun ()
: within(Target) && execution(* *(..)) && !within(AspectMarker+);
: within(Target) && execution(* *(..)) && notInAspect() ;
;
pointcut TargetRunFlow ()
: cflow(within(Target) && execution(* *(..))) && !within(AspectMarker+)
: cflow(within(Target) && execution(* *(..))) && notInAspect()
;
}

/** @testcase PR#559 subaspect advice not run for superaspect cflow-based pointcut */
aspect DerivedAspect extends BaseAspect implements AspectMarker {
pointcut TargetSubRunFlow ()
: cflow(within(Target) && execution(* *(..))) && !within(AspectMarker+)
: cflow(within(Target) && execution(* *(..))) && notInAspect()
;
Object around () : TargetRun() {
Tester.event("target aspect");

Loading…
Cancel
Save