Class Doc.Level

java.lang.Object
com.google.googlejavaformat.Doc
com.google.googlejavaformat.Doc.Level
Enclosing class:
Doc

static final class Doc.Level extends Doc
A Level inside a Doc.
  • Field Details

  • Constructor Details

    • Level

      private Level(Indent plusIndent)
  • Method Details

    • make

      static Doc.Level make(Indent plusIndent)
      Factory method for Levels.
      Parameters:
      plusIndent - the extra indent inside the Level
      Returns:
      the new Level
    • add

      void add(Doc doc)
      Add a Doc to the Level.
      Parameters:
      doc - the Doc to add
    • computeWidth

      int computeWidth()
      Description copied from class: Doc
      Compute the Doc's width.
      Specified by:
      computeWidth in class Doc
      Returns:
      the width
    • computeFlat

      String computeFlat()
      Description copied from class: Doc
      Compute the Doc's flat value. Not defined (and never called) if contains forced breaks.
      Specified by:
      computeFlat in class Doc
      Returns:
      the flat value
    • computeRange

      com.google.common.collect.Range<Integer> computeRange()
      Description copied from class: Doc
      Compute the Doc's Range of Input.Tokens.
      Specified by:
      computeRange in class Doc
      Returns:
      the Range
    • computeBreaks

      public Doc.State computeBreaks(CommentsHelper commentsHelper, int maxWidth, Doc.State state)
      Description copied from class: Doc
      Make breaking decisions for a Doc.
      Specified by:
      computeBreaks in class Doc
      Parameters:
      maxWidth - the maximum line width
      state - the current output state
      Returns:
      the new output state
    • splitByBreaks

      private static void splitByBreaks(List<Doc> docs, List<List<Doc>> splits, List<Doc.Break> breaks)
    • computeBroken

      private Doc.State computeBroken(CommentsHelper commentsHelper, int maxWidth, Doc.State state)
      Compute breaks for a Doc.Level that spans multiple lines.
    • computeBreakAndSplit

      private static Doc.State computeBreakAndSplit(CommentsHelper commentsHelper, int maxWidth, Doc.State state, Optional<Doc.Break> optBreakDoc, List<Doc> split)
      Lay out a Break-separated group of Docs in the current Level.
    • computeSplit

      private static Doc.State computeSplit(CommentsHelper commentsHelper, int maxWidth, List<Doc> docs, Doc.State state)
    • write

      public void write(Output output)
      Description copied from class: Doc
      Write a Doc to an Output, after breaking decisions have been made.
      Specified by:
      write in class Doc
    • writeFilled

      private void writeFilled(Output output)
    • getWidth

      static int getWidth(List<Doc> docs)
      Get the width of a sequence of Docs.
      Parameters:
      docs - the Docs
      Returns:
      the width
    • union

      private static com.google.common.collect.Range<Integer> union(com.google.common.collect.Range<Integer> x, com.google.common.collect.Range<Integer> y)
    • toString

      public String toString()
      Overrides:
      toString in class Object