summaryrefslogtreecommitdiffstats
path: root/tests/features152/synchronization/ThisJoinPointLock.java
diff options
context:
space:
mode:
Diffstat (limited to 'tests/features152/synchronization/ThisJoinPointLock.java')
-rw-r--r--tests/features152/synchronization/ThisJoinPointLock.java48
1 files changed, 48 insertions, 0 deletions
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) {
+ }
+ }
+
+}