aboutsummaryrefslogtreecommitdiffstats
path: root/tests/features152
diff options
context:
space:
mode:
Diffstat (limited to 'tests/features152')
-rw-r--r--tests/features152/synchronization/transformed/CaptureLock.aj8
-rw-r--r--tests/features152/synchronization/transformed/Program.java35
-rw-r--r--tests/features152/synchronization/transformed/aop1.xml12
3 files changed, 55 insertions, 0 deletions
diff --git a/tests/features152/synchronization/transformed/CaptureLock.aj b/tests/features152/synchronization/transformed/CaptureLock.aj
new file mode 100644
index 000000000..3e1f2706a
--- /dev/null
+++ b/tests/features152/synchronization/transformed/CaptureLock.aj
@@ -0,0 +1,8 @@
+public abstract aspect CaptureLock {
+
+ abstract pointcut lockPC();
+
+ before(): lockPC() {
+ System.out.println("Before a lock or unlock");
+ }
+}
diff --git a/tests/features152/synchronization/transformed/Program.java b/tests/features152/synchronization/transformed/Program.java
new file mode 100644
index 000000000..2d92cfa81
--- /dev/null
+++ b/tests/features152/synchronization/transformed/Program.java
@@ -0,0 +1,35 @@
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+
+public class Program {
+ public static void main(String[] args) {
+ new Program().b();
+ new Program().c();
+ new Program().d();
+ }
+
+ // ... that does something ...
+ public synchronized void b() {
+ System.out.println("hello from b()");
+ }
+
+ // ... that includes try/catch ...
+ public synchronized void c() {
+ try {
+ File f = new File("fred");
+ FileInputStream fis = new FileInputStream(f);
+ } catch (IOException ioe) {
+ System.out.println("bang in c()");
+ }
+ }
+
+ // ... with nested synchronized blocks ...
+ public synchronized void d() {
+ System.out.println("hello from d()");
+ synchronized (new String()) {
+ System.out.println("hello from block in d()");
+ }
+ }
+
+}
diff --git a/tests/features152/synchronization/transformed/aop1.xml b/tests/features152/synchronization/transformed/aop1.xml
new file mode 100644
index 000000000..660f20b47
--- /dev/null
+++ b/tests/features152/synchronization/transformed/aop1.xml
@@ -0,0 +1,12 @@
+<aspectj>
+ <aspects>
+ <concrete-aspect name="G8"
+ extends="CaptureLock">
+
+ <pointcut name="lockPC" expression="(within(*) AND (lock() || unlock()))" />
+
+ </concrete-aspect>
+ </aspects>
+
+ <weaver options="-verbose -showWeaveInfo -Xjoinpoints:synchronization"/>
+</aspectj>