123456789101112131415161718192021222324252627282930313233 |
-
- import org.aspectj.testing.Tester;
-
- interface I {}
-
- /** @testcase PR#757 Incrementing interface-introduced field */
- public class IntroducedFieldInc implements I{
- public static void main (String args[]) {
- IntroducedFieldInc i = new IntroducedFieldInc();
- // no bug
- Tester.check(1 == (((I)i).count = 1), "((I)i).count = 1");
- Tester.check(2 == (++(i).count), "++((I)i).count");
- // bug
- Tester.check(3 == (++((I)i).count), "++((I)i).count");
- Tester.check(3 == (((I)i).count++), "((I)i).count++");
- Tester.check(5 == (((I)i).count += 1), "((I)i).count += 1");
-
- Tester.checkEqual((getI().count += 1), 3, "getI().count += 1");
- Tester.checkEqual(getICount, 1, "getI() called");
- }
-
- static int getICount = 0;
-
- public static I getI() {
- getICount++;
- return new IntroducedFieldInc();
- }
-
- }
-
- aspect A {
- public int I.count = 2;
- }
|