aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authoraclement <aclement>2008-06-03 04:38:40 +0000
committeraclement <aclement>2008-06-03 04:38:40 +0000
commite7a6acd6d481f219ba4f87ec1a2cfa29e5aa9fd5 (patch)
tree81a8d348332bb4a5d8b6b9a07f7c926da0d8b2b2 /tests
parent239e51fe25f1b88118b77cd1717bac336d536248 (diff)
downloadaspectj-e7a6acd6d481f219ba4f87ec1a2cfa29e5aa9fd5.tar.gz
aspectj-e7a6acd6d481f219ba4f87ec1a2cfa29e5aa9fd5.zip
235204: test
Diffstat (limited to 'tests')
-rw-r--r--tests/bugs161/pr235204/RecursiveCatcher.java21
-rw-r--r--tests/src/org/aspectj/systemtest/ajc161/Ajc161Tests.java23
-rw-r--r--tests/src/org/aspectj/systemtest/ajc161/ajc161.xml5
3 files changed, 48 insertions, 1 deletions
diff --git a/tests/bugs161/pr235204/RecursiveCatcher.java b/tests/bugs161/pr235204/RecursiveCatcher.java
new file mode 100644
index 000000000..4a3bebd31
--- /dev/null
+++ b/tests/bugs161/pr235204/RecursiveCatcher.java
@@ -0,0 +1,21 @@
+
+package recursivepackage;
+
+public aspect RecursiveCatcher {
+
+ pointcut recur() :
+ call(public void
+ *.recursiveCall(int));
+
+
+ before(): recur() {
+ // empty
+ }
+
+
+ public void recursiveCall(int i) { // marker is here
+ recursiveCall(i); // marker should be here
+ }
+
+}
+
diff --git a/tests/src/org/aspectj/systemtest/ajc161/Ajc161Tests.java b/tests/src/org/aspectj/systemtest/ajc161/Ajc161Tests.java
index e36773624..d03eebb5b 100644
--- a/tests/src/org/aspectj/systemtest/ajc161/Ajc161Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc161/Ajc161Tests.java
@@ -11,15 +11,36 @@
package org.aspectj.systemtest.ajc161;
import java.io.File;
+import java.util.Iterator;
+import java.util.Set;
import junit.framework.Test;
+import org.aspectj.asm.AsmManager;
+import org.aspectj.asm.IRelationshipMap;
import org.aspectj.testing.XMLBasedAjcTestCase;
public class Ajc161Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
// AspectJ1.6.1
- public void testITDPrecedence_pr233838_1() { runTest("itd precedence - 1"); }
+ public void testIncorrectRelationship_pr235204() {
+ runTest("incorrect call relationship");
+ IRelationshipMap irm = AsmManager.getDefault().getRelationshipMap();
+ Set entries = irm.getEntries();
+ String gotit = "";
+ for (Iterator iterator = entries.iterator(); iterator.hasNext();) {
+ Object object = (Object) iterator.next();
+ gotit = (String) object;
+ break;
+ }
+ if (gotit.indexOf("method-call") == -1) {
+ String expected = "<recursivepackage{RecursiveCatcher.java}RecursiveCatcher~recursiveCall~I?method-call(void recursivepackage.RecursiveCatcher.recursiveCall(int))";
+ fail("Expected '" + expected + "' but got '" + gotit + "'");
+ }
+ }
+
+ public void testITDPrecedence_pr233838_1() {
+ runTest("itd precedence - 1"); }
public void testITDPrecedence_pr233838_2() { runTest("itd precedence - 2"); }
public void testGetFieldGenerics_pr227401() { runTest("getfield problem with generics");}
public void testGenericAbstractAspects_pr231478() { runTest("generic abstract aspects"); }
diff --git a/tests/src/org/aspectj/systemtest/ajc161/ajc161.xml b/tests/src/org/aspectj/systemtest/ajc161/ajc161.xml
index d75609647..8a48e58c5 100644
--- a/tests/src/org/aspectj/systemtest/ajc161/ajc161.xml
+++ b/tests/src/org/aspectj/systemtest/ajc161/ajc161.xml
@@ -3,6 +3,11 @@
<!-- AspectJ v1.6.1 Tests -->
<suite>
+
+ <ajc-test dir="bugs161/pr235204" title="incorrect call relationship">
+ <compile files="RecursiveCatcher.java" options="-1.5 -emacssym"/>
+ </ajc-test>
+
<ajc-test dir="bugs161/pr233838" title="itd precedence - 1">
<compile files="Z.java" options="-1.5"/>
<run class="Z">