summaryrefslogtreecommitdiffstats
path: root/tests/new/aroundinner/Minimal.java
blob: 80b028698e050ef68ce8174d8118aa3a94b5d8bb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class Minimal {
    public static void main (String[] args) {
        Target.main(args);
    } 
}

class MyObject { int result = 0; }
aspect Aspect {
    static final String[] SIGNALS = new String[] 
    { "around - run - before proceed"
    , "around - run - after proceed"
    };

    /** @testcase PR#620 around advice inner class running proceed and writing field */
    int around(): Target.pointcutTarget() {
        MyObject o = new MyObject() { 
                void ignored() { 
                    result = 1; // remove to avoid bug
                } 
            };
        Common.signal(SIGNALS[0]);
        int i = proceed(); 
        Common.signal(SIGNALS[1]);
        return i; 
    }    
}