diff options
author | aclement <aclement> | 2009-05-28 00:12:47 +0000 |
---|---|---|
committer | aclement <aclement> | 2009-05-28 00:12:47 +0000 |
commit | 6f76bb72e9d65b5e340736c7a61c2ad047d67686 (patch) | |
tree | 8574062ea2a04e8e7d2bf1a9fcc073ee52812b8d | |
parent | 25492effbb0cd1137a5c72df365d70602bd3e049 (diff) | |
download | aspectj-6f76bb72e9d65b5e340736c7a61c2ad047d67686.tar.gz aspectj-6f76bb72e9d65b5e340736c7a61c2ad047d67686.zip |
277959: stack depth must be at least one if there is an exception handler
-rw-r--r-- | tests/bugs165/pr277959/AOPTest.java | 32 | ||||
-rw-r--r-- | tests/bugs165/pr277959/CodeAspect.java | 14 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc165/Ajc165Tests.java | 4 | ||||
-rw-r--r-- | tests/src/org/aspectj/systemtest/ajc165/ajc165.xml | 5 |
4 files changed, 55 insertions, 0 deletions
diff --git a/tests/bugs165/pr277959/AOPTest.java b/tests/bugs165/pr277959/AOPTest.java new file mode 100644 index 000000000..593e6a3d5 --- /dev/null +++ b/tests/bugs165/pr277959/AOPTest.java @@ -0,0 +1,32 @@ +/* + * AOPTest + * Copyright (c) 2001-2006 MessageOne Inc. + */ +package example; + +public class AOPTest { + public static void doSomething() {} + + public static void cleanup() { + try { + doSomething(); + doSomething(); + } catch(Exception ex) { + // ignore + } + } + public static void cleanup2() { + try { + + doSomething(); + } catch(Exception ex) { + // ignore + } + } + + + public static void main(String[] args) throws Throwable { + AOPTest.cleanup(); + } +} + diff --git a/tests/bugs165/pr277959/CodeAspect.java b/tests/bugs165/pr277959/CodeAspect.java new file mode 100644 index 000000000..dd3017ace --- /dev/null +++ b/tests/bugs165/pr277959/CodeAspect.java @@ -0,0 +1,14 @@ +import java.lang.Class; +import org.aspectj.lang.reflect.MethodSignature; +import org.aspectj.lang.*; + +public aspect CodeAspect { + pointcut getPointcut() + : execution(public * example.AOPTest.cleanup()); + + Object around() : getPointcut() { + System.out.println("ASPECT WORKING"); + //Just call the underlying method + return proceed(); + } +} diff --git a/tests/src/org/aspectj/systemtest/ajc165/Ajc165Tests.java b/tests/src/org/aspectj/systemtest/ajc165/Ajc165Tests.java index 9d1a6159b..cd67252a0 100644 --- a/tests/src/org/aspectj/systemtest/ajc165/Ajc165Tests.java +++ b/tests/src/org/aspectj/systemtest/ajc165/Ajc165Tests.java @@ -20,6 +20,10 @@ import org.aspectj.weaver.LintMessage; public class Ajc165Tests extends org.aspectj.testing.XMLBasedAjcTestCase { + public void testVerifyError_pr277959() { + runTest("verifyerror"); + } + public void testIfNames_pr277508() { runTest("if method names"); } diff --git a/tests/src/org/aspectj/systemtest/ajc165/ajc165.xml b/tests/src/org/aspectj/systemtest/ajc165/ajc165.xml index cacaf1b84..dc8d533c9 100644 --- a/tests/src/org/aspectj/systemtest/ajc165/ajc165.xml +++ b/tests/src/org/aspectj/systemtest/ajc165/ajc165.xml @@ -2,6 +2,11 @@ <suite> + <ajc-test dir="bugs165/pr277959" title="verifyerror"> + <compile files="AOPTest.java CodeAspect.java" options="-1.5"/> + <run class="example.AOPTest"/> + </ajc-test> + <ajc-test dir="bugs165/pr277508" title="if method names"> <compile files="Basic.java" options="-1.5"/> <run class="Basic"> |