Class LineNumberPrintWriter

java.lang.Object
java.io.Writer
java.io.PrintWriter
com.strobel.decompiler.LineNumberPrintWriter
All Implemented Interfaces:
Closeable, Flushable, Appendable, AutoCloseable

class LineNumberPrintWriter extends PrintWriter
A specialization of PrintWriter which can automatically prefix lines with a Java-commented, justified line number. This class overrides only the print(String) and println(String) methods, therefore all other methods must be avoided.
  • Field Details

    • NO_LINE_NUMBER

      public static final int NO_LINE_NUMBER
      See Also:
    • _emptyPrefix

      private final String _emptyPrefix
    • _format

      private final String _format
    • _needsPrefix

      private boolean _needsPrefix
    • _suppressLineNumbers

      private boolean _suppressLineNumbers
  • Constructor Details

    • LineNumberPrintWriter

      public LineNumberPrintWriter(int maxLineNo, Writer w)
      Creates an instance. The only valid "print" methods to call are print(String) and println(String).
      Parameters:
      maxLineNo - the highest line number that 'this' will ever encounter
      w - the underlying Writer to which characters are printed.
  • Method Details

    • suppressLineNumbers

      public void suppressLineNumbers()
      Causes 'this' printer to not emit any line numbers or any whitespace padding.
    • print

      public void print(String s)
      Overrides:
      print in class PrintWriter
    • println

      public void println(String s)
      Overrides:
      println in class PrintWriter
    • println

      public void println(int lineNumber, String s)
    • print

      public void print(int lineNumber, String s)
    • doPrefix

      private void doPrefix(int lineNumber)