Class AstTreeStringPrinter

java.lang.Object
com.puppycrawl.tools.checkstyle.AstTreeStringPrinter

public final class AstTreeStringPrinter extends Object
Class for printing AST to String.
  • Field Details

    • NEWLINE

      private static final Pattern NEWLINE
      Newline pattern.
    • RETURN

      private static final Pattern RETURN
      Return pattern.
    • TAB

      private static final Pattern TAB
      Tab pattern.
    • LINE_SEPARATOR

      private static final String LINE_SEPARATOR
      OS specific line separator.
  • Constructor Details

    • AstTreeStringPrinter

      private AstTreeStringPrinter()
      Prevent instances.
  • Method Details

    • printFileAst

      public static String printFileAst(File file, JavaParser.Options options) throws IOException, CheckstyleException
      Parse a file and print the parse tree.
      Parameters:
      file - the file to print.
      options - JavaParser.Options to control the inclusion of comment nodes.
      Returns:
      the AST of the file in String form.
      Throws:
      IOException - if the file could not be read.
      CheckstyleException - if the file is not a Java source.
    • printJavaAndJavadocTree

      public static String printJavaAndJavadocTree(File file) throws IOException, CheckstyleException
      Prints full AST (java + comments + javadoc) of the java file.
      Parameters:
      file - java file
      Returns:
      Full tree
      Throws:
      IOException - Failed to open a file
      CheckstyleException - error while parsing the file
    • printJavaAndJavadocTree

      private static String printJavaAndJavadocTree(DetailAST ast)
      Prints full tree (java + comments + javadoc) of the DetailAST.
      Parameters:
      ast - root DetailAST
      Returns:
      Full tree
    • parseAndPrintJavadocTree

      private static String parseAndPrintJavadocTree(DetailAST node)
      Parses block comment as javadoc and prints its tree.
      Parameters:
      node - block comment begin
      Returns:
      string javadoc tree
    • printAst

      public static String printAst(FileText text, JavaParser.Options options) throws CheckstyleException
      Parse a file and print the parse tree.
      Parameters:
      text - the text to parse.
      options - JavaParser.Options to control the inclusion of comment nodes.
      Returns:
      the AST of the file in String form.
      Throws:
      CheckstyleException - if the file is not a Java source.
    • printBranch

      public static String printBranch(DetailAST node)
      Print branch info from root down to given node.
      Parameters:
      node - last item of the branch
      Returns:
      branch as string
    • printTree

      private static String printTree(DetailAST ast)
      Print AST.
      Parameters:
      ast - the root AST node.
      Returns:
      string AST.
    • getNodeInfo

      private static String getNodeInfo(DetailAST node)
      Get string representation of the node as token name, node text, line number and column number.
      Parameters:
      node - DetailAST
      Returns:
      node info
    • getIndentation

      private static String getIndentation(DetailAST ast)
      Get indentation for an AST node.
      Parameters:
      ast - the AST to get the indentation for.
      Returns:
      the indentation in String format.
    • escapeAllControlChars

      private static String escapeAllControlChars(String text)
      Replace all control chars with escaped symbols.
      Parameters:
      text - the String to process.
      Returns:
      the processed String with all control chars escaped.