diff options
author | aclement <aclement> | 2010-09-15 18:18:01 +0000 |
---|---|---|
committer | aclement <aclement> | 2010-09-15 18:18:01 +0000 |
commit | 923190c40b9f5a794167ceff5cf3f0c5b21c2d7b (patch) | |
tree | 78ab4d02fc0aac6c500b8ad4b02fab03e5030b3f /tests/bugs1610 | |
parent | b72bc1728c41181f3ed32828b32897f557f4fdf1 (diff) | |
download | aspectj-923190c40b9f5a794167ceff5cf3f0c5b21c2d7b.tar.gz aspectj-923190c40b9f5a794167ceff5cf3f0c5b21c2d7b.zip |
324932V1_6_10RC1
Diffstat (limited to 'tests/bugs1610')
-rw-r--r-- | tests/bugs1610/pr324932/A.java | 40 | ||||
-rw-r--r-- | tests/bugs1610/pr324932/X.aj | 20 | ||||
-rw-r--r-- | tests/bugs1610/pr324932/aop.xml | 10 | ||||
-rw-r--r-- | tests/bugs1610/pr324932_2/A.java | 98 | ||||
-rw-r--r-- | tests/bugs1610/pr324932_2/aop.xml | 10 |
5 files changed, 178 insertions, 0 deletions
diff --git a/tests/bugs1610/pr324932/A.java b/tests/bugs1610/pr324932/A.java new file mode 100644 index 000000000..e71f2a044 --- /dev/null +++ b/tests/bugs1610/pr324932/A.java @@ -0,0 +1,40 @@ +/******************************************************************************* + * Copyright (c) 2010 Contributors + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Andy Clement - Repro test case + * Abraham Nevado + *******************************************************************************/ + +class AtomicAction { + int status() { return 1; } + int commit(int n) { return 1; } +} + +public class A { + public static void main(String []argv) { + System.out.println("It WORKS"); + } + + AtomicAction f; + + public void m() { + switch (f.status()) { + case 1: + throw new RuntimeException("abc"); + case 2: + f.commit(1); + return; + } + switch (f.commit(1)) { + case 1: + throw new RuntimeException(); + } + } + +} + diff --git a/tests/bugs1610/pr324932/X.aj b/tests/bugs1610/pr324932/X.aj new file mode 100644 index 000000000..8b6d046ee --- /dev/null +++ b/tests/bugs1610/pr324932/X.aj @@ -0,0 +1,20 @@ +/******************************************************************************* + * Copyright (c) 2010 Contributors + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Andy Clement - Repro test case + * Abraham Nevado + *******************************************************************************/ + +aspect X { + after(): execution(* A.m()) { + System.out.println(thisJoinPoint.getArgs().toString()); + } + before(): execution(* A.m()) { + System.out.println(thisJoinPointStaticPart); + } +} diff --git a/tests/bugs1610/pr324932/aop.xml b/tests/bugs1610/pr324932/aop.xml new file mode 100644 index 000000000..515c5b474 --- /dev/null +++ b/tests/bugs1610/pr324932/aop.xml @@ -0,0 +1,10 @@ +<aspectj> + <aspects> + <aspect name="X"/> + </aspects> + + <weaver options="-Xset:targetRuntime1_6_10=true,fastWeaving=true,weaveJavaxPackages=true -XhasMember -XlazyTjp -Xreweavable"> + <include within="*"/> + </weaver> + +</aspectj>
\ No newline at end of file diff --git a/tests/bugs1610/pr324932_2/A.java b/tests/bugs1610/pr324932_2/A.java new file mode 100644 index 000000000..1e998ff07 --- /dev/null +++ b/tests/bugs1610/pr324932_2/A.java @@ -0,0 +1,98 @@ +/******************************************************************************* + * Copyright (c) 2010 Contributors + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Andy Clement - Repro test case + * Abraham Nevado + *******************************************************************************/ + +aspect X { + after(): execution(* A.m()) { + System.out.println(thisJoinPoint.getArgs().toString()); + } + before(): execution(* A.m()) { + System.out.println(thisJoinPointStaticPart); + } +} + +interface LogNoi18n { +boolean isDebugEnabled(); +void debug(String message); +String getString(String key); +} +class AtomicAction { + int status() { return 1; } + int abort() { return 1; } + int commit(int n) { return 1; } + Throwable getDeferredThrowable() { return null; } +} +class RollbackException extends RuntimeException { + RollbackException(String s) { + super(s); + } +} + +public class A { +public static void main(String []argv) { + System.out.println("It WORKS"); +int i = 1; + } + static LogNoi18n logger; + AtomicAction _theTransaction; + Throwable _rollbackOnlyCallerStacktrace; + public void m() { + if (logger.isDebugEnabled()) { + logger.debug("TransactionImple.commitAndDisassociate"); + } + try { + if (_theTransaction!=null) { + switch (_theTransaction.status()) { + case 2: + case 4: + _theTransaction.abort(); + throw new RollbackException(logger.getString("inactive")); + case 6: + case 7: + _theTransaction.commit(1); + return; + case 3: + case 5: + default: + break; + } + switch (_theTransaction.commit(1)) { + case 6:case 7: // 188 + break; + case 13: // 191 + throw new RuntimeException(); + case 14: // 199 + throw new RuntimeException(); + case 2:case 4: case 11: // 207 + RollbackException o = new RollbackException(logger.getString("inactive")); + if (_rollbackOnlyCallerStacktrace!=null) { + o.initCause(_rollbackOnlyCallerStacktrace); + } else + if (_theTransaction.getDeferredThrowable()!=null) { + o.initCause(_theTransaction.getDeferredThrowable()); + } + + throw o; + default: + throw new RuntimeException(logger.getString("inactive")); + } + } else { + throw new IllegalStateException(logger.getString("inactive")); + } + } finally { + removeTransaction(this); + } + } + + public static void removeTransaction(A o) { + } +} + diff --git a/tests/bugs1610/pr324932_2/aop.xml b/tests/bugs1610/pr324932_2/aop.xml new file mode 100644 index 000000000..515c5b474 --- /dev/null +++ b/tests/bugs1610/pr324932_2/aop.xml @@ -0,0 +1,10 @@ +<aspectj> + <aspects> + <aspect name="X"/> + </aspects> + + <weaver options="-Xset:targetRuntime1_6_10=true,fastWeaving=true,weaveJavaxPackages=true -XhasMember -XlazyTjp -Xreweavable"> + <include within="*"/> + </weaver> + +</aspectj>
\ No newline at end of file |