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/IntroducedModifiers.java | |
parent | fafae443719b26159ab2d7dac1c9b46b5e00b671 (diff) | |
download | aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.tar.gz aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.zip |
initial version
Diffstat (limited to 'tests/new/IntroducedModifiers.java')
-rw-r--r-- | tests/new/IntroducedModifiers.java | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/tests/new/IntroducedModifiers.java b/tests/new/IntroducedModifiers.java new file mode 100644 index 000000000..d8f9c2a43 --- /dev/null +++ b/tests/new/IntroducedModifiers.java @@ -0,0 +1,50 @@ +import org.aspectj.testing.Tester; + +import java.lang.reflect.*; + +public class IntroducedModifiers { + public static void main(String[] args) throws Exception { + Field f = C.class.getField("cf"); + Tester.check(Modifier.isVolatile(f.getModifiers()), "volatile"); + Tester.check(Modifier.isTransient(f.getModifiers()), "transient"); + + Method m = C.class.getMethod("m", new Class[0]); + Tester.check(Modifier.isSynchronized(m.getModifiers()), "synchronized"); + Tester.check(Modifier.isStrict(m.getModifiers()), "strictfp"); + + f = C.class.getField("scf"); + Tester.check(Modifier.isVolatile(f.getModifiers()), "volatile"); + Tester.check(Modifier.isTransient(f.getModifiers()), "transient"); + Tester.check(Modifier.isStatic(f.getModifiers()), "static"); + + //XXX this name depends on implementation details for field intro on interfaces + try { + f = C.class.getField("iField__I"); + } catch (NoSuchFieldException e) { + f = C.class.getField("aspectj$iField__I"); + } + Tester.check(Modifier.isVolatile(f.getModifiers()), "volatile"); + Tester.check(Modifier.isTransient(f.getModifiers()), "transient"); + + m = C.class.getMethod("im", new Class[0]); + Tester.check(Modifier.isSynchronized(m.getModifiers()), "synchronized"); + Tester.check(Modifier.isStrict(m.getModifiers()), "strictfp"); + } +} + + +interface I { +} + +class C implements I { +} + +aspect A { + public transient volatile int C.cf = 0; + public synchronized strictfp int C.m() { return 0; } + + public transient volatile static int C.scf = 0; + + public synchronized strictfp int I.im() { return 0; } + public transient volatile int I.iField = 1; +} |