5558f8ec48de23319c6421b21ef7b8a9f8c38c58
[IRC.git] / Robust / src / Tests / inner.java
1 public class inner extends innerp {
2   int outer;
3   int f2;
4
5   public inner() {
6     super.outer=31;
7   }
8
9   public static void main(String x[]) {
10     inner i=new inner();
11     i.dotest();
12     outerAnonymousInnerStatic(20, 30);
13     innerEgg2 e2 = new innerBigEgg2();
14     e2.g();
15   }
16
17   public void dotest() {
18     outer=35;
19     outerprint();
20     t tmp=new t();
21     tmp.print();
22     outerAnonymousInner(100);
23   }
24   
25   public void outerprint() {
26       System.out.println("Outer class print: " + this.outer + "; " + this.f2);
27   }
28   
29   public void outerprintInnerp(innerCallback c) {
30       c.call();
31   }
32   
33   public void outerAnonymousInner(final int value) {
34       int j = 0; // this should not be included into the following anonymous inner class
35       this.outerprintInnerp(new innerCallback() {
36           public void call() {
37               System.out.println("innerCallback: " + value);
38           }
39       });
40   }
41   
42   public static void outerprintInnerpStatic(innerCallback c) {
43       c.call();
44   }
45   
46   public static void outerAnonymousInnerStatic(final int value, final int value1) {
47       outerprintInnerpStatic(new innerCallback() {
48           public void call() {
49               System.out.println("innerCallbackStatic: " + value + ", " + value1);
50           }
51       });
52   }
53
54   public class t extends innerpt {
55     int outer;
56     int f3;
57     public t() {
58       t.this.outer=4;
59       f1=2;
60       f2=3;
61       f3=4;
62
63     }
64
65     public void print() {
66       //should print 4 0 35
67       System.out.println("\t Inner class print: ");
68       System.out.println(outer);
69       System.out.println(super.outer);
70       t.super.outer = 1;
71       System.out.println(outer);
72       System.out.println(t.super.outer);
73       System.out.println(inner.this.outer);
74       System.out.println(inner.super.outer);
75       System.out.println(f1);
76       System.out.println(f2);
77       System.out.println(f3);
78       outerprint();
79     }
80   }
81
82 }