Interface Tree

    • Method Detail

      • getJacksonPolymorphicTypeTag

        default java.lang.String getJacksonPolymorphicTypeTag()
      • randomId

        static java.util.UUID randomId()
      • getId

        java.util.UUID getId()
        An id that can be used to identify a particular AST element, even after transformations have taken place on it
        Returns:
        A unique identifier
      • accept

        @Nullable
        default <R extends Tree,​P> R accept​(TreeVisitor<R,​P> v,
                                                  P p)
        Supports polymorphic visiting via TreeVisitor.visit(Tree, Object). This is useful in cases where an AST type contains a field that is of a type with a hierarchy. The visitor doesn't have to figure out which visit method to call by using instanceof.
        Type Parameters:
        R - visitor return type
        P - visit context type
        Parameters:
        v - visitor
        p - visit context
        Returns:
        visitor result
      • isAcceptable

        <P> boolean isAcceptable​(TreeVisitor<?,​P> v,
                                 P p)
        Checks the supplied argument to see if the supplied visitor and its context would be valid arguments to accept(). Typically this involves checking that the visitor is of a type that operates on this kind of tree. e.g.: A Java Tree implementation would return true for JavaVisitors and false for MavenVisitors
        Type Parameters:
        P - the visitor's context argument
        Returns:
        'true' if the arguments to this function would be valid arguments to accept()
      • print

        default <P> java.lang.String print​(P p,
                                           Cursor cursor)
      • print

        default java.lang.String print​(Cursor cursor)
      • printTrimmed

        default <P> java.lang.String printTrimmed​(P p,
                                                  Cursor cursor)
      • printTrimmed

        default java.lang.String printTrimmed​(Cursor cursor)