TreeIterator.java 5.27 KB
/*
 * Decompiled with CFR 0_118.
 * 
 * Could not load the following classes:
 *  com.adobe.forms.layout.TreeIterator$
 *  com.adobe.forms.layout.TreeIterator$$anonfun
 *  com.adobe.forms.layout.TreeIterator$$anonfun$next
 *  scala.CountedIterator
 *  scala.Function0
 *  scala.Function1
 *  scala.Function2
 *  scala.Option
 *  scala.PartialFunction
 *  scala.Predef
 *  scala.Predef$
 *  scala.Predef$$less
 *  scala.Predef$$less$colon
 *  scala.Predef$$less$colon$less
 *  scala.ScalaObject
 *  scala.Tuple2
 *  scala.collection.BufferedIterator
 *  scala.collection.GenIterable
 *  scala.collection.GenMap
 *  scala.collection.GenSeq
 *  scala.collection.GenSet
 *  scala.collection.GenTraversable
 *  scala.collection.GenTraversableOnce
 *  scala.collection.GenTraversableOnce$class
 *  scala.collection.Iterable
 *  scala.collection.Iterator
 *  scala.collection.Iterator$class
 *  scala.collection.Seq
 *  scala.collection.Traversable
 *  scala.collection.TraversableOnce
 *  scala.collection.TraversableOnce$class
 *  scala.collection.immutable.IndexedSeq
 *  scala.collection.immutable.List
 *  scala.collection.immutable.Map
 *  scala.collection.immutable.Set
 *  scala.collection.immutable.Stream
 *  scala.collection.mutable.Buffer
 *  scala.collection.mutable.Stack
 *  scala.collection.mutable.StringBuilder
 *  scala.math.Numeric
 *  scala.math.Ordering
 *  scala.reflect.ClassManifest
 *  scala.reflect.ScalaSignature
 *  scala.runtime.AbstractFunction1
 */
package com.adobe.forms.layout;

import com.adobe.forms.layout.Tree;
import com.adobe.forms.layout.TreeIterator;
import scala.CountedIterator;
import scala.Function0;
import scala.Function1;
import scala.Function2;
import scala.Option;
import scala.PartialFunction;
import scala.Predef;
import scala.ScalaObject;
import scala.Tuple2;
import scala.collection.BufferedIterator;
import scala.collection.GenIterable;
import scala.collection.GenMap;
import scala.collection.GenSeq;
import scala.collection.GenSet;
import scala.collection.GenTraversable;
import scala.collection.GenTraversableOnce;
import scala.collection.Iterable;
import scala.collection.Iterator;
import scala.collection.Seq;
import scala.collection.Traversable;
import scala.collection.TraversableOnce;
import scala.collection.immutable.IndexedSeq;
import scala.collection.immutable.List;
import scala.collection.immutable.Map;
import scala.collection.immutable.Set;
import scala.collection.immutable.Stream;
import scala.collection.mutable.Buffer;
import scala.collection.mutable.Stack;
import scala.collection.mutable.StringBuilder;
import scala.math.Numeric;
import scala.math.Ordering;
import scala.reflect.ClassManifest;
import scala.reflect.ScalaSignature;
import scala.runtime.AbstractFunction1;

/*
 * This class specifies class file version 49.0 but uses Java 6 signatures.  Assumed Java 6.
 */
@ScalaSignature(bytes="\u0006\u0001M3A!\u0001\u0002\u0001\u0017\taAK]3f\u0013R,'/\u0019;pe*\u00111\u0001B\u0001\u0007Y\u0006Lx.\u001e;\u000b\u0005\u00151\u0011!\u00024pe6\u001c(BA\u0004\t\u0003\u0015\tGm\u001c2f\u0015\u0005I\u0011aA2p[\u000e\u0001QC\u0001\u0007&'\u0011\u0001Q\"F\u0018\u0011\u00059\u0019R\"A\b\u000b\u0005A\t\u0012\u0001\u00027b]\u001eT\u0011AE\u0001\u0005U\u00064\u0018-\u0003\u0002\u0015\u001f\t1qJ\u00196fGR\u00042A\u0006\u0011$\u001d\t9RD\u0004\u0002\u001975\t\u0011D\u0003\u0002\u001b\u0015\u00051AH]8pizJ\u0011\u0001H\u0001\u0006g\u000e\fG.Y\u0005\u0003=}\tq\u0001]1dW\u0006<WMC\u0001\u001d\u0013\t\t#E\u0001\u0005Ji\u0016\u0014\u0018\r^8s\u0015\tqr\u0004\u0005\u0002%K1\u0001A!\u0002\u0014\u0001\u0005\u00049#!A!\u0012\u0005!b\u0003CA\u0015+\u001b\u0005y\u0012BA\u0016 \u0005\u001dqu\u000e\u001e5j]\u001e\u0004\"!K\u0017\n\u00059z\"aA!osB\u0011\u0011\u0006M\u0005\u0003c}\u00111bU2bY\u0006|%M[3di\"A1\u0007\u0001B\u0001B\u0003%A'\u0001\u0002jiB\u0019QGN\u0012\u000e\u0003\tI!a\u000e\u0002\u0003\tQ\u0013X-\u001a\u0005\u0006s\u0001!\tAO\u0001\u0007y%t\u0017\u000e\u001e \u0015\u0005mb\u0004cA\u001b\u0001G!)1\u0007\u000fa\u0001i!9a\b\u0001b\u0001\n\u0003y\u0014AA:u+\u0005\u0001\u0005cA!Gi5\t!I\u0003\u0002D\t\u00069Q.\u001e;bE2,'BA# \u0003)\u0019w\u000e\u001c7fGRLwN\\\u0005\u0003\u000f\n\u0013Qa\u0015;bG.Da!\u0013\u0001!\u0002\u0013\u0001\u0015aA:uA!)1\n\u0001C!\u0019\u00069\u0001.Y:OKb$X#A'\u0011\u0005%r\u0015BA( \u0005\u001d\u0011un\u001c7fC:DQ!\u0015\u0001\u0005BI\u000bAA\\3yiR\t1\u0005")
public class TreeIterator<A>
implements Iterator<A>,
ScalaObject {
    private final Stack<Tree<A>> st;

    public Stack<Tree<A>> st() {
        return this.st;
    }

    public boolean hasNext() {
        return !this.st().isEmpty();
    }

    public A next() {
        Tree e = (Tree)this.st().pop();
        e.children().foreach((Function1)new scala.Serializable(this){
            public static final long serialVersionUID;
            private final TreeIterator $outer;

            public static {
                long l = .anonfun.next.serialVersionUID = 0;
            }

            public final Stack<Tree<A>> apply(Tree<A> tree) {
                return this.$outer.st().push(tree);
            }
        });
        return e.value();
    }

    public TreeIterator(Tree<A> it) {
        GenTraversableOnce.class.$init$((GenTraversableOnce)this);
        TraversableOnce.class.$init$((TraversableOnce)this);
        Iterator.class.$init$((Iterator)this);
        this.st = new Stack();
        this.st().push(it);
    }
}