adding a test case
[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               (new innerCallback() {
38                   public void call() {
39                       System.out.println("innerCallback.innerCallback: " + value);
40                   }
41               }).call();
42               //System.out.println("innerCallback: " + value);
43           }
44       });
45   }
46   
47   public static void outerprintInnerpStatic(innerCallback c) {
48       c.call();
49   }
50   
51   public static void outerAnonymousInnerStatic(final int value, final int value1) {
52       outerprintInnerpStatic(new innerCallback() {
53           public void call() {
54               System.out.println("innerCallbackStatic: " + value + ", " + value1);
55           }
56       });
57   }
58
59   public class t extends innerpt {
60     int outer;
61     int f3;
62     public t() {
63       t.this.outer=4;
64       f1=2;
65       f2=3;
66       f3=4;
67
68     }
69
70     public void print() {
71       //should print 4 0 35
72       System.out.println("\t Inner class print: ");
73       System.out.println(outer);
74       System.out.println(super.outer);
75       t.super.outer = 1;
76       System.out.println(outer);
77       System.out.println(t.super.outer);
78       System.out.println(inner.this.outer);
79       System.out.println(inner.super.outer);
80       System.out.println(f1);
81       System.out.println(f2);
82       System.out.println(f3);
83       outerprint();
84     }
85   }
86
87 }