]> source.dussan.org Git - aspectj.git/commitdiff
145018: moved 152>153
authoraclement <aclement>
Mon, 10 Jul 2006 07:17:02 +0000 (07:17 +0000)
committeraclement <aclement>
Mon, 10 Jul 2006 07:17:02 +0000 (07:17 +0000)
tests/bugs152/pr145018/Broken.aj [deleted file]
tests/bugs153/pr145018/Broken.aj [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/bugs152/pr145018/Broken.aj b/tests/bugs152/pr145018/Broken.aj
deleted file mode 100644 (file)
index 3735137..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-import java.util.*;
-import org.aspectj.lang.annotation.*;
-
-@Aspect
-public class Broken {
-
-    @Pointcut("call( * *.someMethod(..)) && args(arg1, arg2, arg3, status) ")
-    public void someMethod2( int arg1, int arg2, int arg3, Status status ) {}
-
-    @Pointcut("someMethod2(arg1, arg2, arg3, status) && if()")
-    public static boolean someMethod2if(int arg1, int arg2, int arg3, Status status) {
-        return status.equals( Status.DELETED );
-    }
-
-    @Pointcut("cflow(execution( * *.doProcess(..) ) && args( context, *, args)) && this(SomeClass+) ")
-    public void inSomeClass2(Context context, Map args) {}
-
-    @After( "inSomeClass2(context,args) && someMethod2if(arg1, arg2, arg3, status) ")
-    public void deleteManagerInSomeClass2( Context context, Map args, int arg1, int arg2, int arg3, Status status) {
-//             _log.write( DEBUG, "STATUS2: " + status );
-    }
-}
-
-class Status {
-  public final static int DELETED = 1;
-}
-
-class Context {}
-
-class SomeClass {
-
-  public void doProcess(Context c,Object o, Map m) {
-    someMethod(1,2,3,new Status());
-    someMethod(1,2,3,new Status());
-    someMethod(1,2,3,new Status());
-  }
-
-  public void someMethod(int a, int b, int c, Status s) {
-    doProcess(null,null,null);
-  }
-}
diff --git a/tests/bugs153/pr145018/Broken.aj b/tests/bugs153/pr145018/Broken.aj
new file mode 100644 (file)
index 0000000..adde2e9
--- /dev/null
@@ -0,0 +1,30 @@
+import java.util.*;
+import org.aspectj.lang.annotation.*;
+
+@Aspect
+public class Broken {
+
+       @Pointcut("call(* someMethod(..)) && args(arg1) && if()")
+    public static boolean someMethod2if(int arg1) {
+      return true;
+    }
+
+    @Pointcut("cflow(execution(* doProcess(..) ) && args(*, args)) && this(SomeClass+) ")
+    public void inSomeClass2(Map args) {}
+
+    @After( "inSomeClass2(args) && someMethod2if(arg1) ")
+    public void deleteManagerInSomeClass2(Map args,int arg1) { }
+    
+    public static void main(String[] args) {
+               new SomeClass().doProcess("a",new HashMap());
+       }
+}
+
+class SomeClass {
+
+  public void doProcess(Object o, Map m) {
+    someMethod(1);
+  }
+
+  public void someMethod(int a) { }
+}
index 6c844d7496884f80a5324c5d1b8b2c9213fa3261..0bd75f3d756634f85e622e788e618dc124fd88d8 100644 (file)
@@ -36,11 +36,9 @@ public class Ajc153Tests extends org.aspectj.testing.XMLBasedAjcTestCase {
   // public void testVisibilityProblem_pr149071()                 { runTest("visibility problem");}
   // public void testAdviceNotWovenAspectPath_pr147841()          { runTest("advice not woven on aspectpath");}
   public void testGenericSignatures_pr148409()                 { runTest("generic signature problem"); }
+//  public void testBrokenIfArgsCflowAtAj_pr145018() { runTest("ataj crashing with cflow, if and args");}
+  public void testCantFindType_pr149322_1() {runTest("can't find type on interface call");}
 
-  public void testCantFindType_pr149322_1() {
-         runTest("can't find type on interface call");
-  }
-  
   /////////////////////////////////////////
   public static Test suite() {
     return XMLBasedAjcTestCase.loadSuite(Ajc153Tests.class);
index fc8b354701dea405235cfac2115c58c692be3d67..c55cc6bb249288fdce7ceef860e92979f2c45608 100644 (file)
           <line text="foo"/>
         </stderr>
       </run>
-    </ajc-test>    
+    </ajc-test>   
+        
+       <ajc-test dir="bugs153/pr145018" title="ataj crashing with cflow, if and args">
+     <compile files="Broken.aj" options="-1.5"/>
+     <run class="Broken">
+       <stderr>
+         <line text="ahhh"/>
+       </stderr>
+     </run>
+    </ajc-test> 
     
        <ajc-test dir="bugs153/pr149322" title="can't find type on interface call">
                <compile files="Interface.java"/>