summaryrefslogtreecommitdiffstats
path: root/tests/new/introTypeMissing/TargetClassCP.java
blob: 2247f8c7bb801f96c82c943c4cab337995d97803 (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
29
30
31
32
33
34
35
36
37
38
import org.aspectj.testing.Tester;

public class TargetClassCP {
    /** run PUREJAVA variant of the tests */
    public static void main(String[] args) {
        SubClass me = new SubClass();
        Tester.check(me.field, "me.field");
        Tester.check(me.f.valid(), "me.f.valid()");
        Tester.check(me.new inner().run(), "me.new inner().run() ");
        Tester.check(me.result_cast, "me.result_cast");
    }
}

class TargetClass {
    boolean ok = true;
    boolean getboolean() { return (this != null); }
    public class InnerClass {
        public boolean valid() { 
            return (null != this);
        }
    }
}

/** @testcase enclosing class available as this qualifier in inner classes */
class SubClass extends TargetClass {
    public class inner {
        public boolean run() {
            InnerClass j = SubClass.this.new InnerClass(); 
            boolean boolean_4 = SubClass.this.getboolean(); 
            return (boolean_4 && j.valid());
        }
    }

    boolean result_cast = SubClass.this.getboolean(); 
    InnerClass f = SubClass.this.new InnerClass(); 
    boolean field = SubClass.this.ok; 
}