]> source.dussan.org Git - aspectj.git/commitdiff
test for 121805. commented out test for 145442 (not recreated yet)
authoraclement <aclement>
Tue, 11 Jul 2006 07:56:23 +0000 (07:56 +0000)
committeraclement <aclement>
Tue, 11 Jul 2006 07:56:23 +0000 (07:56 +0000)
tests/bugs153/pr121805/Complex.java [new file with mode: 0644]
tests/bugs153/pr145442/MissingLineNumbers.java [new file with mode: 0644]
tests/src/org/aspectj/systemtest/ajc153/Ajc153Tests.java
tests/src/org/aspectj/systemtest/ajc153/ajc153.xml

diff --git a/tests/bugs153/pr121805/Complex.java b/tests/bugs153/pr121805/Complex.java
new file mode 100644 (file)
index 0000000..aa6d025
--- /dev/null
@@ -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 (file)
index 0000000..08cca8f
--- /dev/null
@@ -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();
+  }
+}
+
+
index 1fced4c80f6423b1957a429ec3a9869b1b3aaf55..6bb35d241b1f0700ebd0279c3605ecfb1b3b6efd 100644 (file)
@@ -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");}
index 0181bd5973641e015cb8372321459998e36678aa..cead63fd8485d40e13954065f60559befffc7eea 100644 (file)
      <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"