jdk/test/java/lang/invoke/indify/Indify.java
changeset 32649 2ee9017c7597
parent 9752 88ab34b6da6d
equal deleted inserted replaced
32648:1fa861caf840 32649:2ee9017c7597
  1218     }
  1218     }
  1219     private static void writeOutputs(DataOutputStream out, Object... data) throws IOException {
  1219     private static void writeOutputs(DataOutputStream out, Object... data) throws IOException {
  1220         for (Object x : data)  writeOutput(out, x);
  1220         for (Object x : data)  writeOutput(out, x);
  1221     }
  1221     }
  1222 
  1222 
  1223     public static abstract class Outer {
  1223     public abstract static class Outer {
  1224         public abstract List<? extends Inner> inners();
  1224         public abstract List<? extends Inner> inners();
  1225         protected void linkInners() {
  1225         protected void linkInners() {
  1226             for (Inner i : inners()) {
  1226             for (Inner i : inners()) {
  1227                 i.linkOuter(this);
  1227                 i.linkOuter(this);
  1228                 if (i instanceof Outer)
  1228                 if (i instanceof Outer)
  1248             }
  1248             }
  1249             return null;
  1249             return null;
  1250         }
  1250         }
  1251     }
  1251     }
  1252     public interface Inner { Outer outer(); void linkOuter(Outer o); }
  1252     public interface Inner { Outer outer(); void linkOuter(Outer o); }
  1253     public static abstract class InnerOuter extends Outer implements Inner {
  1253     public abstract static class InnerOuter extends Outer implements Inner {
  1254         public Outer outer;
  1254         public Outer outer;
  1255         public Outer outer() { return outer; }
  1255         public Outer outer() { return outer; }
  1256         public void linkOuter(Outer o) { assert(outer == null); outer = o; }
  1256         public void linkOuter(Outer o) { assert(outer == null); outer = o; }
  1257     }
  1257     }
  1258     public static class Constant<T> implements Chunk {
  1258     public static class Constant<T> implements Chunk {