diff options
author | wisberg <wisberg> | 2002-12-16 18:51:06 +0000 |
---|---|---|
committer | wisberg <wisberg> | 2002-12-16 18:51:06 +0000 |
commit | 144143c2970a1e874d74cdbd0f8c622d4282a3c3 (patch) | |
tree | b12383d3d9e76c7e1f25f7fbec83051ef17f81fb /tests/new/SynchroInterface.java | |
parent | fafae443719b26159ab2d7dac1c9b46b5e00b671 (diff) | |
download | aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.tar.gz aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.zip |
initial version
Diffstat (limited to 'tests/new/SynchroInterface.java')
-rw-r--r-- | tests/new/SynchroInterface.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/new/SynchroInterface.java b/tests/new/SynchroInterface.java new file mode 100644 index 000000000..5ec3515fe --- /dev/null +++ b/tests/new/SynchroInterface.java @@ -0,0 +1,42 @@ +import org.aspectj.testing.Tester; +import java.lang.reflect.*; + +public class SynchroInterface { + public static void main(String[] args) { + try { + new SynchroInterface().realMain(args); + } catch (Throwable t) { + Tester.check(false, "uh oh " + t); + } finally { + Tester.check(Consts.ran, "method didn't run"); + } + } + public void realMain(String[] args) throws Throwable { + Class.forName("EmptyClass").getMethod("method", new Class[]{}).invoke(new EmptyClass(), new Class[]{}); + } +} + +class Consts { + public static boolean ran = false; +} + +class EmptyClass { +} + +interface EmptyInterface { +} + +aspect IntroType { + introduction EmptyClass { + implements EmptyInterface; + } +} + +aspect IntroMethod { + introduction EmptyInterface { + public synchronized void method() { + Consts.ran = true; + } + } +} + |