diff options
Diffstat (limited to 'tests/features152')
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> |