accidentally changed this makefile, roll it back
[IRC.git] / Robust / src / Tests / inner.java
index 6d54617ad2ed7bdec7f1c0ec1991deb27287256d..add612b54ca27dd176b96143b57b5161b1d8b46a 100644 (file)
@@ -1,16 +1,59 @@
-public class inner {
+public class inner extends innerp {
   int outer;
   int f2;
 
+  public inner() {
+    super.outer=31;
+  }
+
   public static void main(String x[]) {
     inner i=new inner();
     i.dotest();
+    outerAnonymousInnerStatic(20, 30);
+    innerEgg2 e2 = new innerBigEgg2();
+    e2.g();
   }
 
   public void dotest() {
     outer=35;
+    outerprint();
     t tmp=new t();
     tmp.print();
+    outerAnonymousInner(100);
+  }
+  
+  public void outerprint() {
+      System.out.println("Outer class print: " + this.outer + "; " + this.f2);
+  }
+  
+  public void outerprintInnerp(innerCallback c) {
+      c.call();
+  }
+  
+  public void outerAnonymousInner(final int value) {
+      int j = 0; // this should not be included into the following anonymous inner class
+      this.outerprintInnerp(new innerCallback() {
+         public void call() {
+             (new innerCallback() {
+                 public void call() {
+                     System.out.println("innerCallback.innerCallback: " + value);
+                 }
+             }).call();
+             //System.out.println("innerCallback: " + value);
+         }
+      });
+  }
+  
+  public static void outerprintInnerpStatic(innerCallback c) {
+      c.call();
+  }
+  
+  public static void outerAnonymousInnerStatic(final int value, final int value1) {
+      outerprintInnerpStatic(new innerCallback() {
+         public void call() {
+             System.out.println("innerCallbackStatic: " + value + ", " + value1);
+         }
+      });
   }
 
   public class t extends innerpt {
@@ -26,14 +69,19 @@ public class inner {
 
     public void print() {
       //should print 4 0 35
+      System.out.println("\t Inner class print: ");
       System.out.println(outer);
       System.out.println(super.outer);
+      t.super.outer = 1;
+      System.out.println(outer);
+      System.out.println(t.super.outer);
       System.out.println(inner.this.outer);
+      System.out.println(inner.super.outer);
       System.out.println(f1);
       System.out.println(f2);
       System.out.println(f3);
-
+      outerprint();
     }
   }
 
-}
\ No newline at end of file
+}