]> source.dussan.org Git - aspectj.git/commitdiff
284771: before tjp clashing advice sigs dont get counter suffix
authoraclement <aclement>
Mon, 27 Jul 2009 17:27:23 +0000 (17:27 +0000)
committeraclement <aclement>
Mon, 27 Jul 2009 17:27:23 +0000 (17:27 +0000)
tests/multiIncremental/pr284771/base/src/test/AspectTrace.aj [new file with mode: 0644]
tests/multiIncremental/pr284771/base/src/test/Child.java [new file with mode: 0644]
tests/multiIncremental/pr284771/base/src/test/ChildInt.java [new file with mode: 0644]
tests/multiIncremental/pr284771/base/src/test/ChildIntObj.java [new file with mode: 0644]
tests/multiIncremental/pr284771/base/src/test/Logger.aj [new file with mode: 0644]
tests/multiIncremental/pr284771/base/src/test/Parent.java [new file with mode: 0644]
tests/multiIncremental/pr284771/base/src/test/ParentInt.java [new file with mode: 0644]
tests/multiIncremental/pr284771/base/src/test/ParentIntObj.java [new file with mode: 0644]
tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java

diff --git a/tests/multiIncremental/pr284771/base/src/test/AspectTrace.aj b/tests/multiIncremental/pr284771/base/src/test/AspectTrace.aj
new file mode 100644 (file)
index 0000000..7a2296f
--- /dev/null
@@ -0,0 +1,31 @@
+package test;
+import test.ChildInt;
+import test.Parent;
+import test.ParentInt;
+
+
+public aspect AspectTrace {
+
+       
+       public pointcut p1(): execution(* test.Parent+.do*(..));        
+       public pointcut p2(): withincode(* test.Parent+.do*(..)) && this(test.Parent+);
+       
+       public pointcut p3() : execution(* test.ParentInt.*(..));
+       public pointcut p4() : execution(* test.ChildInt.*(..));
+       
+       before() : p1() {
+               System.out.println("p1" + thisJoinPoint);
+       }
+       
+//     before() : p2(){
+//             System.out.println("p2" + thisJoinPoint);
+//     }       
+//     
+       before() : p3() {
+               System.out.println("p3" + thisJoinPoint);
+       }
+//     
+//     before() : p4() {
+//             System.out.println("p4" + thisJoinPoint);
+//     }        
+}
diff --git a/tests/multiIncremental/pr284771/base/src/test/Child.java b/tests/multiIncremental/pr284771/base/src/test/Child.java
new file mode 100644 (file)
index 0000000..67e91d5
--- /dev/null
@@ -0,0 +1,13 @@
+package test;
+
+public class Child extends Parent {
+       
+       public static void doTT(String o){
+               System.out.println("child");
+       }
+       
+       public static void main(String[] args) {
+               new Child().doTT("kkk");
+       }
+
+}
diff --git a/tests/multiIncremental/pr284771/base/src/test/ChildInt.java b/tests/multiIncremental/pr284771/base/src/test/ChildInt.java
new file mode 100644 (file)
index 0000000..80204c9
--- /dev/null
@@ -0,0 +1,7 @@
+package test;
+
+public interface ChildInt extends ParentInt {
+
+       public void doNewTT(String o);
+       public void doNewXX(String o);
+}
diff --git a/tests/multiIncremental/pr284771/base/src/test/ChildIntObj.java b/tests/multiIncremental/pr284771/base/src/test/ChildIntObj.java
new file mode 100644 (file)
index 0000000..cded69d
--- /dev/null
@@ -0,0 +1,23 @@
+package test;
+
+public class ChildIntObj implements ChildInt {
+
+       public void doNewTT(String o) {
+               // TODO Auto-generated method stub
+               
+               System.out.println("ChildIntObj.doNewTT");
+
+       }
+
+       public void doNewXX(String o) {
+               // TODO Auto-generated method stub
+               System.out.println("ChildIntObj.doNewXX");
+       }
+       
+       public static void main(String[] args) {
+               new ChildIntObj().doNewTT("");
+               
+               new ChildIntObj().doNewXX("");
+       }
+
+}
diff --git a/tests/multiIncremental/pr284771/base/src/test/Logger.aj b/tests/multiIncremental/pr284771/base/src/test/Logger.aj
new file mode 100644 (file)
index 0000000..98ac9d2
--- /dev/null
@@ -0,0 +1,24 @@
+package test;
+
+public aspect Logger {
+
+       //declare precedence: Logger, ErrorContainment; 
+//     
+//     before() : adviceexecution() && !within(Logger){
+//             
+//             System.out.println("--->Logger:" + thisJoinPoint);
+//             
+//     }
+//     
+//     after() : adviceexecution() && !within(Logger) {
+//             
+//             System.out.println("--->Logger:" + thisJoinPoint);
+//             
+//     }
+       
+       
+       before(): execution(* hk..*.do*(..)){
+               System.out.println("This is a test");
+       }
+       
+}
diff --git a/tests/multiIncremental/pr284771/base/src/test/Parent.java b/tests/multiIncremental/pr284771/base/src/test/Parent.java
new file mode 100644 (file)
index 0000000..2d8a338
--- /dev/null
@@ -0,0 +1,15 @@
+package test;
+
+public class Parent {
+
+       public static void doTT(String o){
+               
+               System.out.println("parent");
+               
+       }
+       
+       
+       public static void main(String[] args) {
+               new Parent().doTT("kkk");
+       }
+}
diff --git a/tests/multiIncremental/pr284771/base/src/test/ParentInt.java b/tests/multiIncremental/pr284771/base/src/test/ParentInt.java
new file mode 100644 (file)
index 0000000..3b4be4a
--- /dev/null
@@ -0,0 +1,7 @@
+package test;
+
+public interface ParentInt {
+
+       public void doNewTT(String o);
+       
+}
diff --git a/tests/multiIncremental/pr284771/base/src/test/ParentIntObj.java b/tests/multiIncremental/pr284771/base/src/test/ParentIntObj.java
new file mode 100644 (file)
index 0000000..6ef4aeb
--- /dev/null
@@ -0,0 +1,16 @@
+package test;
+
+public class ParentIntObj implements ParentInt {
+
+       public void doNewTT(String o) {
+               // TODO Auto-generated method stub
+               
+               System.out.println("ParentIntObj");
+
+       }
+       
+       public static void main(String[] args) {
+               new ParentIntObj().doNewTT("");                         
+       }
+
+}
index f66f7908d3c08a4740d5708bb191ef1429dd4066..9e01a5694b30e65ed25dd19ad2b55e0181c62709 100644 (file)
@@ -91,6 +91,20 @@ public class MultiProjectIncrementalTests extends AbstractMultiProjectIncrementa
                // *cough* third error, hmmm
        }
 
+       public void testAdviceHandles_pr284771() throws Exception {
+               String p = "pr284771";
+               initialiseProject(p);
+               build(p);
+               printModel(p);
+               IRelationshipMap irm = getModelFor(p).getRelationshipMap();
+               List rels = irm.get("=pr284771<test*AspectTrace.aj}AspectTrace&before");
+               assertNotNull(rels);
+               assertEquals(2, ((Relationship) rels.get(0)).getTargets().size());
+               rels = irm.get("=pr284771<test*AspectTrace.aj}AspectTrace&before!2");
+               assertNotNull(rels);
+               assertEquals(2, ((Relationship) rels.get(0)).getTargets().size());
+       }
+
        // TODO (asc) these tests don't actually verify anything!
        // public void testAtDeclareParents_280658() throws Exception {
        // AjdeInteractionTestbed.VERBOSE = true;