Class PrettyAstPrinter


  • @ExperimentalApi
    public class PrettyAstPrinter
    extends AstPrinter
    A printer that acts as a code formatter. This printer will preserve pretty much all elements from the source text, even those that are not part of the AST (and are thus discarded by the AstPrinter), like comments.
    See Also:
    AstPrinter
    • Method Detail

      • print

        public java.lang.String print​(Node node)
      • type

        private java.lang.String type​(Type type)
      • node

        private java.lang.String node​(Node node,
                                      java.lang.Class startClass)
      • isEmpty

        private <T> boolean isEmpty​(java.util.List<T> list)
      • isEmpty

        private boolean isEmpty​(java.lang.String s)
      • nvl

        private <T> java.util.List<T> nvl​(java.util.List<T> list)
      • outset

        private java.lang.String outset​(Node<?> node)
      • description

        private java.lang.String description​(Node<?> node)
      • comment

        private java.lang.String comment​(Comment comment)
      • comments

        private java.lang.String comments​(java.util.List<Comment> comments)
      • comments

        private java.lang.String comments​(java.util.List<Comment> comments,
                                          java.lang.String suffix)
      • comments

        private java.lang.String comments​(java.util.List<Comment> comments,
                                          java.lang.String prefix,
                                          java.lang.String suffix)
      • directives

        private java.lang.String directives​(java.util.List<Directive> directives)
      • join

        private <T extends Node> java.lang.String join​(java.util.List<T> nodes,
                                                       java.lang.String delim)
      • join

        private <T extends Node> java.lang.String join​(java.util.List<T> nodes,
                                                       java.lang.String delim,
                                                       java.lang.String prefix,
                                                       java.lang.String suffix)
      • node

        private java.lang.String node​(Node node)
      • spaced

        private java.lang.String spaced​(java.lang.String... args)
      • prepend

        private java.util.function.Function<java.lang.String,​java.lang.String> prepend​(java.lang.String prefix)
      • append

        private java.util.function.Function<java.lang.String,​java.lang.String> append​(java.lang.String suffix)
      • join

        private java.lang.String join​(java.lang.String delim,
                                      java.lang.String... args)
      • block

        private <T extends Node> java.lang.String block​(java.util.List<T> nodes,
                                                        Node parentNode,
                                                        java.lang.String prefix,
                                                        java.lang.String suffix,
                                                        java.lang.String separatorMultiline,
                                                        java.lang.String separatorSingleLine,
                                                        java.lang.String whenEmpty)
      • indent

        private java.lang.String indent​(java.lang.String text)
      • indent

        private java.lang.StringBuilder indent​(java.lang.StringBuilder stringBuilder)