Class LexicalPreservingPrinter

java.lang.Object
com.github.javaparser.printer.lexicalpreservation.LexicalPreservingPrinter

public class LexicalPreservingPrinter extends Object
A Lexical Preserving Printer is used to capture all the lexical information while parsing, update them when operating on the AST and then used them to reproduce the source code in its original formatting including the AST changes.
  • Field Details

    • NODE_TEXT_DATA

      public static final DataKey<com.github.javaparser.printer.lexicalpreservation.NodeText> NODE_TEXT_DATA
      The nodetext for a node is stored in the node's data field. This is the key to set and retrieve it.
  • Constructor Details

    • LexicalPreservingPrinter

      public LexicalPreservingPrinter()
  • Method Details

    • setup

      public static <N extends Node> N setup(N node)
      Prepares the node so it can be used in the print methods. The correct order is:
      1. Parse some code
      2. Call this setup method on the result
      3. Make changes to the AST as desired
      4. Use one of the print methods on this class to print out the original source code with your changes added
      Returns:
      the node passed as a parameter for your convenience.
    • isAvailableOn

      public static boolean isAvailableOn(Node node)
    • print

      public static String print(Node node)
      Print a Node into a String, preserving the lexical information.