From b2247654a3b35eb26731fac20247fc3007612eab Mon Sep 17 00:00:00 2001 From: aclement Date: Wed, 24 May 2006 07:15:42 +0000 Subject: synchronization joinpoints: testcode --- .../synchronization/ThisJoinPointLock.java | 48 ++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 tests/features152/synchronization/ThisJoinPointLock.java (limited to 'tests/features152/synchronization/ThisJoinPointLock.java') diff --git a/tests/features152/synchronization/ThisJoinPointLock.java b/tests/features152/synchronization/ThisJoinPointLock.java new file mode 100644 index 000000000..ed5376a79 --- /dev/null +++ b/tests/features152/synchronization/ThisJoinPointLock.java @@ -0,0 +1,48 @@ +import org.aspectj.lang.reflect.*; + +aspect TJPAspect { + before(): withincode(void ThisJoinPointLock.nonStaticMethod()) { + if (thisJoinPoint.getSignature() instanceof LockSignature) { + System.err.println("match.toString(): "+thisJoinPoint.toString()); + System.err.println("match.toShortString(): "+thisJoinPoint.toShortString()); + System.err.println("match.toLongString(): "+thisJoinPoint.toLongString()); + } + + // SHORT => shorttypenames, no args, no throws, no modifiers, short type names + // MIDDLE=> args included + // LONG => modifiers included + } + +// before(): withincode(void ThisJoinPointLock.nonStaticMethod()) { +// if (thisJoinPoint.getSignature() instanceof MethodSignature) { +// System.err.println("match.toString(): "+thisJoinPoint.toString()); +// System.err.println("match.toShortString(): "+thisJoinPoint.toShortString()); +// System.err.println("match.toLongString(): "+thisJoinPoint.toLongString()); +// } +// +// // SHORT => shorttypenames, no args, no throws, no modifiers, short type names +// // MIDDLE=> args included +// // LONG => modifiers included +// } + +} + +public class ThisJoinPointLock { + public static void main(String[] args) { + ThisJoinPointLock b = new ThisJoinPointLock(); + b.nonStaticMethod(); + b.staticMethod(); + } + + public void nonStaticMethod() { + synchronized (this) { + staticMethod(); + } + } + + public void staticMethod() { + synchronized (ThisJoinPointLock.class) { + } + } + +} -- cgit v1.2.3