aboutsummaryrefslogtreecommitdiffstats
path: root/tests/bugs1610
diff options
context:
space:
mode:
authoraclement <aclement>2010-09-15 18:18:01 +0000
committeraclement <aclement>2010-09-15 18:18:01 +0000
commit923190c40b9f5a794167ceff5cf3f0c5b21c2d7b (patch)
tree78ab4d02fc0aac6c500b8ad4b02fab03e5030b3f /tests/bugs1610
parentb72bc1728c41181f3ed32828b32897f557f4fdf1 (diff)
downloadaspectj-923190c40b9f5a794167ceff5cf3f0c5b21c2d7b.tar.gz
aspectj-923190c40b9f5a794167ceff5cf3f0c5b21c2d7b.zip
Diffstat (limited to 'tests/bugs1610')
-rw-r--r--tests/bugs1610/pr324932/A.java40
-rw-r--r--tests/bugs1610/pr324932/X.aj20
-rw-r--r--tests/bugs1610/pr324932/aop.xml10
-rw-r--r--tests/bugs1610/pr324932_2/A.java98
-rw-r--r--tests/bugs1610/pr324932_2/aop.xml10
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