aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--tests/bugs153/pr121805/Complex.java41
-rw-r--r--tests/bugs153/pr145442/MissingLineNumbers.java18
-rw-r--r--tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java2
-rw-r--r--tests/src/org/aspectj/systemtest/ajc153/ajc153.xml11
4 files changed, 71 insertions, 1 deletions
diff --git a/tests/bugs153/pr121805/Complex.java b/tests/bugs153/pr121805/Complex.java
new file mode 100644
index 000000000..aa6d025c1
--- /dev/null
+++ b/tests/bugs153/pr121805/Complex.java
@@ -0,0 +1,41 @@
+class CommonEntity {
+
+ public void add(CommonEntity ce) {}
+ public void remove(CommonEntity ce) {}
+
+}
+
+class ManageEntity {
+
+ ManageEntity(CommonEntity ce) {
+ }
+}
+
+
+abstract aspect Y {
+ abstract pointcut entityAccessor(CommonEntity entity);
+ before(CommonEntity entity): entityAccessor(entity) {}
+}
+
+
+aspect X extends Y {
+
+ public pointcut entityAccessor1(CommonEntity entity)
+ : (execution(* CommonEntity+.add*(CommonEntity+))
+ || (execution(* CommonEntity+.remove*(CommonEntity+))))
+ && within(CommonEntity+)
+ && args(entity) && if(entity != null);
+
+ public pointcut entityAccessor2(CommonEntity entity)
+ : execution(ManageEntity.new(CommonEntity+, ..))
+ && within(ManageEntity)
+ && args(entity, ..)
+ && if(entity != null);
+
+ public pointcut entityAccessor(CommonEntity entity)
+ : entityAccessor1(entity) || entityAccessor2(entity);
+
+
+}
+
+
diff --git a/tests/bugs153/pr145442/MissingLineNumbers.java b/tests/bugs153/pr145442/MissingLineNumbers.java
new file mode 100644
index 000000000..08cca8fa1
--- /dev/null
+++ b/tests/bugs153/pr145442/MissingLineNumbers.java
@@ -0,0 +1,18 @@
+public class MissingLineNumbers {
+ public static void main(String []argv) {
+ new MissingLineNumbers().foo();
+ }
+
+ public void foo() {
+ System.err.println("hello");
+ System.err.println("world");
+ }
+}
+
+aspect X {
+ void around(): call(* foo(..)) {
+ new RuntimeException().printStackTrace();
+ }
+}
+
+
diff --git a/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java b/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java
index 1fced4c80..6bb35d241 100644
--- a/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java
+++ b/tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java
@@ -19,8 +19,10 @@ import org.aspectj.testing.XMLBasedAjcTestCase;
public class Ajc153Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
+ // public void testMissingLineNumbersInStacktrace_pr145442() { runTest("missing line numbers in stacktrace");}
// public void testArgnamesAndJavac_pr148381() { runTest("argNames and javac");}
// public void testCFlowXMLAspectLTW_pr149096() { runTest("cflow xml concrete aspect"); }
+ public void testAmbiguousBinding_pr121805() { runTest("ambiguous binding");}
public void testGenericInheritanceDecp_pr150095() { runTest("generics, inheritance and decp");}
public void testIllegalStateException_pr148737() { runTest("illegalstateexception for non generic type");}
public void testAtajInheritance_pr149305_1() { runTest("ataj inheritance - 1");}
diff --git a/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml b/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml
index 0181bd597..cead63fd8 100644
--- a/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml
+++ b/tests/src/org/aspectj/systemtest/ajc153/ajc153.xml
@@ -111,7 +111,16 @@
<compile files="Foo.java" options="-1.5"/>
</ajc-test>
- <ajc-test dir="bugs153/pr149322" title="can't find type on interface call 1">
+ <ajc-test dir="bugs153/pr121805" title="ambiguous binding">
+ <compile files="Complex.java"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs153/pr145442" title="missing line numbers in stacktrace">
+ <compile files="MissingLineNumbers.java"/>
+ <run class="MissingLineNumbers"/>
+ </ajc-test>
+
+ <ajc-test dir="bugs153/pr149322" title="can't find type on interface call">
<compile files="Interface.java"/>
<compile
files="Missing.java"