Class Concat

  • All Implemented Interfaces:
    Traversal, java.io.Serializable, scala.Equals, scala.Product, scala.Serializable

    public final class Concat
    extends java.lang.Object
    implements Traversal, scala.Product, scala.Serializable
    See Also:
    Serialized Form
    • Method Detail

      • normalizeConcat

        public static Traversal normalizeConcat​(Traversal first,
                                                Traversal second)
        An optimizatzion to remove cheaply recognizable patterns of redundancy, for example PushNotUsed immediately followed by a Pop. It also rotates the tree to make it more left-leaning, which makes the tree more readable and require less stack-space when traversing. This is only a single rotation, otherwise this implementation would be O(N^2).
        Parameters:
        first - (undocumented)
        second - (undocumented)
        Returns:
        (undocumented)
      • apply

        public static Concat apply​(Traversal first,
                                   Traversal next)
        INTERNAL API

        A Traversal that consists of two traversals. The linked traversals must be traversed in first, next order.

        Parameters:
        first - (undocumented)
        next - (undocumented)
        Returns:
        (undocumented)
      • copy$default$1

        public Traversal copy$default$1()
      • copy$default$2

        public Traversal copy$default$2()
      • productPrefix

        public java.lang.String productPrefix()
        Specified by:
        productPrefix in interface scala.Product
      • productArity

        public int productArity()
        Specified by:
        productArity in interface scala.Product
      • productElement

        public java.lang.Object productElement​(int x$1)
        Specified by:
        productElement in interface scala.Product
      • productIterator

        public scala.collection.Iterator<java.lang.Object> productIterator()
        Specified by:
        productIterator in interface scala.Product
      • canEqual

        public boolean canEqual​(java.lang.Object x$1)
        Specified by:
        canEqual in interface scala.Equals
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object x$1)
        Specified by:
        equals in interface scala.Equals
        Overrides:
        equals in class java.lang.Object