From 7b0a1866168d9d477db641376929c92053b3a37d Mon Sep 17 00:00:00 2001 From: aclement Date: Mon, 27 Jul 2009 17:27:23 +0000 Subject: [PATCH] 284771: before tjp clashing advice sigs dont get counter suffix --- .../pr284771/base/src/test/AspectTrace.aj | 31 +++++++++++++++++++ .../pr284771/base/src/test/Child.java | 13 ++++++++ .../pr284771/base/src/test/ChildInt.java | 7 +++++ .../pr284771/base/src/test/ChildIntObj.java | 23 ++++++++++++++ .../pr284771/base/src/test/Logger.aj | 24 ++++++++++++++ .../pr284771/base/src/test/Parent.java | 15 +++++++++ .../pr284771/base/src/test/ParentInt.java | 7 +++++ .../pr284771/base/src/test/ParentIntObj.java | 16 ++++++++++ .../tools/MultiProjectIncrementalTests.java | 14 +++++++++ 9 files changed, 150 insertions(+) create mode 100644 tests/multiIncremental/pr284771/base/src/test/AspectTrace.aj create mode 100644 tests/multiIncremental/pr284771/base/src/test/Child.java create mode 100644 tests/multiIncremental/pr284771/base/src/test/ChildInt.java create mode 100644 tests/multiIncremental/pr284771/base/src/test/ChildIntObj.java create mode 100644 tests/multiIncremental/pr284771/base/src/test/Logger.aj create mode 100644 tests/multiIncremental/pr284771/base/src/test/Parent.java create mode 100644 tests/multiIncremental/pr284771/base/src/test/ParentInt.java create mode 100644 tests/multiIncremental/pr284771/base/src/test/ParentIntObj.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 index 000000000..7a2296f29 --- /dev/null +++ b/tests/multiIncremental/pr284771/base/src/test/AspectTrace.aj @@ -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 index 000000000..67e91d5b4 --- /dev/null +++ b/tests/multiIncremental/pr284771/base/src/test/Child.java @@ -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 index 000000000..80204c9bd --- /dev/null +++ b/tests/multiIncremental/pr284771/base/src/test/ChildInt.java @@ -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 index 000000000..cded69dc0 --- /dev/null +++ b/tests/multiIncremental/pr284771/base/src/test/ChildIntObj.java @@ -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 index 000000000..98ac9d2a3 --- /dev/null +++ b/tests/multiIncremental/pr284771/base/src/test/Logger.aj @@ -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 index 000000000..2d8a33852 --- /dev/null +++ b/tests/multiIncremental/pr284771/base/src/test/Parent.java @@ -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 index 000000000..3b4be4a8b --- /dev/null +++ b/tests/multiIncremental/pr284771/base/src/test/ParentInt.java @@ -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 index 000000000..6ef4aeb9f --- /dev/null +++ b/tests/multiIncremental/pr284771/base/src/test/ParentIntObj.java @@ -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(""); + } + +} diff --git a/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java b/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java index f66f7908d..9e01a5694 100644 --- a/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java +++ b/tests/src/org/aspectj/systemtest/incremental/tools/MultiProjectIncrementalTests.java @@ -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