aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authoraclement <aclement>2009-02-03 17:33:14 +0000
committeraclement <aclement>2009-02-03 17:33:14 +0000
commite842cc97fab075b691acd2a73a1c4a7ee32b554f (patch)
treea5b1f5123fbe05e102abfa50159a13a95f25c5cd /tests
parent8bf38fa383314b9c3526eb8532b9e9ee8a889809 (diff)
downloadaspectj-e842cc97fab075b691acd2a73a1c4a7ee32b554f.tar.gz
aspectj-e842cc97fab075b691acd2a73a1c4a7ee32b554f.zip
263323: broken aspect weaving
Diffstat (limited to 'tests')
-rw-r--r--tests/multiIncremental/brokenCode/base/src/tjp/Demo.java39
-rw-r--r--tests/multiIncremental/brokenCode/base/src/tjp/GetInfo.aj52
-rw-r--r--tests/multiIncremental/brokenCode/inc1/src/tjp/GetInfo.aj52
-rw-r--r--tests/multiIncremental/brokenCode/inc2/src/tjp/Demo.java40
4 files changed, 183 insertions, 0 deletions
diff --git a/tests/multiIncremental/brokenCode/base/src/tjp/Demo.java b/tests/multiIncremental/brokenCode/base/src/tjp/Demo.java
new file mode 100644
index 000000000..6175c6cca
--- /dev/null
+++ b/tests/multiIncremental/brokenCode/base/src/tjp/Demo.java
@@ -0,0 +1,39 @@
+/*
+
+Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+Use and copying of this software and preparation of derivative works based
+upon this software are permitted. Any distribution of this software or
+derivative works must comply with all applicable United States export control
+laws.
+
+This software is made available AS IS, and Xerox Corporation makes no warranty
+about the software, its performance or its conformity to any specification.
+
+*/
+package tjp;
+import java.util.List;
+import java.util.ArrayList;
+
+public class Demo {
+ static Demo d;
+
+ public static void main(String[] args){
+ new Demo().go();
+ }
+
+ void go(){
+ d = new Demo();
+ d.foo(1,d);
+ System.out.println(d.bar(new Integer(3)));
+ }
+
+ void foo(int i, Object o){
+ System.out.println("Demo.foo(" + i + ", " + o + ")\n");
+ }
+
+ String bar (Integer j){
+ System.out.println("Demo.bar(" + j + ")\n");
+ return "Demo.bar(" + j + ")";
+ }
+}
diff --git a/tests/multiIncremental/brokenCode/base/src/tjp/GetInfo.aj b/tests/multiIncremental/brokenCode/base/src/tjp/GetInfo.aj
new file mode 100644
index 000000000..8835e82af
--- /dev/null
+++ b/tests/multiIncremental/brokenCode/base/src/tjp/GetInfo.aj
@@ -0,0 +1,52 @@
+/*
+Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+Use and copying of this software and preparation of derivative works based
+upon this software are permitted. Any distribution of this software or
+derivative works must comply with all applicable United States export control
+laws.
+
+This software is made available AS IS, and Xerox Corporation makes no warranty
+about the software, its performance or its conformity to any specification.
+*/
+
+package tjp;
+
+import org.aspectj.lang.reflect.CodeSignature;
+
+import org.aspectj.lang.JoinPoint;
+
+aspect GetInfo {
+
+
+before():staticinitialization(*) {}
+ static final void println(String s){ System.out.println(s); }
+
+ pointcut goCut(): cflow(this(Demo) && execution(void go()));
+
+ pointcut demoExecs(): within(Demo) && execution(* *(..));
+
+ Object around(): demoExecs() && !execution(* go()) && goCut() {
+ println("Intercepted message: " +
+ thisJoinPointStaticPart.getSignature().getName());
+ println("in class: " +
+ thisJoinPointStaticPart.getSignature().getDeclaringType().getName());
+ printParameters(thisJoinPoint);
+ println("Running original method: \n" );
+ Object result = proceed();
+ println(" result: " + result );
+ return result;
+ }
+
+ static private void printParameters(JoinPoint jp) {
+ println("Arguments: " );
+ Object[] args = jp.getArgs();
+ String[] names = ((CodeSignature)jp.getSignature()).getParameterNames();
+ Class[] types = ((CodeSignature)jp.getSignature()).getParameterTypes();
+ for (int i = 0; i < args.length; i++) {
+ println(" " + i + ". " + names[i] +
+ " : " + types[i].getName() +
+ " = " + args[i]);
+ }
+ }
+}
diff --git a/tests/multiIncremental/brokenCode/inc1/src/tjp/GetInfo.aj b/tests/multiIncremental/brokenCode/inc1/src/tjp/GetInfo.aj
new file mode 100644
index 000000000..166960d1d
--- /dev/null
+++ b/tests/multiIncremental/brokenCode/inc1/src/tjp/GetInfo.aj
@@ -0,0 +1,52 @@
+/*
+Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+Use and copying of this software and preparation of derivative works based
+upon this software are permitted. Any distribution of this software or
+derivative works must comply with all applicable United States export control
+laws.
+
+This software is made available AS IS, and Xerox Corporation makes no warranty
+about the software, its performance or its conformity to any specification.
+*/
+
+package tjp;
+
+import org.aspectj.lang.reflect.CodeSignature;
+
+
+
+aspect GetInfo {
+
+
+before():staticinitialization(*) {}
+ static final void println(String s){ System.out.println(s); }
+
+ pointcut goCut(): cflow(this(Demo) && execution(void go()));
+
+ pointcut demoExecs(): within(Demo) && execution(* *(..));
+
+ Object around(): demoExecs() && !execution(* go()) && goCut() {
+ println("Intercepted message: " +
+ thisJoinPointStaticPart.getSignature().getName());
+ println("in class: " +
+ thisJoinPointStaticPart.getSignature().getDeclaringType().getName());
+ printParameters(thisJoinPoint);
+ println("Running original method: \n" );
+ Object result = proceed();
+ println(" result: " + result );
+ return result;
+ }
+
+ static private void printParameters(JoinPoint jp) {
+ println("Arguments: " );
+ Object[] args = jp.getArgs();
+ String[] names = ((CodeSignature)jp.getSignature()).getParameterNames();
+ Class[] types = ((CodeSignature)jp.getSignature()).getParameterTypes();
+ for (int i = 0; i < args.length; i++) {
+ println(" " + i + ". " + names[i] +
+ " : " + types[i].getName() +
+ " = " + args[i]);
+ }
+ }
+}
diff --git a/tests/multiIncremental/brokenCode/inc2/src/tjp/Demo.java b/tests/multiIncremental/brokenCode/inc2/src/tjp/Demo.java
new file mode 100644
index 000000000..d51d2ff55
--- /dev/null
+++ b/tests/multiIncremental/brokenCode/inc2/src/tjp/Demo.java
@@ -0,0 +1,40 @@
+/*
+
+Copyright (c) Xerox Corporation 1998-2002. All rights reserved.
+
+Use and copying of this software and preparation of derivative works based
+upon this software are permitted. Any distribution of this software or
+derivative works must comply with all applicable United States export control
+laws.
+
+This software is made available AS IS, and Xerox Corporation makes no warranty
+about the software, its performance or its conformity to any specification.
+
+*/
+package tjp;
+import java.util.List;
+import java.util.ArrayList;
+
+
+public class Demo {
+ static Demo d;
+
+ public static void main(String[] args){
+ new Demo().go();
+ }
+
+ void go(){
+ d = new Demo();
+ d.foo(1,d);
+ System.out.println(d.bar(new Integer(3)));
+ }
+
+ void foo(int i, Object o){
+ System.out.println("Demo.foo(" + i + ", " + o + ")\n");
+ }
+
+ String bar (Integer j){
+ System.out.println("Demo.bar(" + j + ")\n");
+ return "Demo.bar(" + j + ")";
+ }
+}