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/design/intro/Statics.java | |
parent | fafae443719b26159ab2d7dac1c9b46b5e00b671 (diff) | |
download | aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.tar.gz aspectj-144143c2970a1e874d74cdbd0f8c622d4282a3c3.zip |
initial version
Diffstat (limited to 'tests/design/intro/Statics.java')
-rw-r--r-- | tests/design/intro/Statics.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/tests/design/intro/Statics.java b/tests/design/intro/Statics.java new file mode 100644 index 000000000..183e96be9 --- /dev/null +++ b/tests/design/intro/Statics.java @@ -0,0 +1,56 @@ +import org.aspectj.testing.Tester; + +public class Statics { + public static void main(String[] args) { + new C(); + Tester.checkEqual(C.getCount(), 1, "C.getCount()"); + Tester.checkEqual(SubC.getCount(), 0, "SubC.getCount()"); + new SubC(); + Tester.checkEqual(C.getCount(), 1, "C.getCount()"); + Tester.checkEqual(SubC.getCount(), 1, "SubC.getCount()"); + new SubC(); + Tester.checkEqual(C.getCount(), 1, "C.getCount()"); + Tester.checkEqual(SubC.getCount(), 2, "SubC.getCount()"); + + I.count += 1; + Tester.checkEqual(I.getCount(), 1, "I.getCount()"); + + Tester.checkEqual(I1.count, 10, "I1.count"); + Tester.checkEqual(SubI.count, 20, "SubI.count"); + Tester.checkEqual(SubI.getCount(), 1, "SubI.getCount()"); + } +} + + +class C { } + +class SubC extends C {} + +interface I {} + +interface I1 { + int N = -1; + Object o = new Integer(2); +} + +interface SubI extends I, I1 { } + +aspect Counter { + private static int C.instanceCount = 0; + private void C.incCount() { instanceCount++; } + static int C.getCount() { return instanceCount; } + private static int SubC.instanceCount = 0; + private void SubC.incCount() { instanceCount++; } + static int SubC.getCount() { return instanceCount; } + + static int I.count = 0; + static int I.getCount() { return count; } + + static int I1.count = 10; + + static int SubI.count = 20; + + after() returning (C c) : call(C+.new(..)) { + c.incCount(); + } +} |