Class Doc.Break

  • All Implemented Interfaces:
    Op
    Enclosing class:
    Doc

    public static final class Doc.Break
    extends Doc
    implements Op
    A leaf node in a Doc for an optional break.
    • Field Detail

      • flat

        private final java.lang.String flat
      • plusIndent

        private final Indent plusIndent
      • broken

        boolean broken
        Was this break taken?
      • newIndent

        int newIndent
        New indent after this break.
    • Method Detail

      • make

        public static Doc.Break make​(Doc.FillMode fillMode,
                                     java.lang.String flat,
                                     Indent plusIndent)
        Make a Break.
        Parameters:
        fillMode - the Doc.FillMode
        flat - the text when not broken
        plusIndent - extra indent if taken
        Returns:
        the new Break
      • make

        public static Doc.Break make​(Doc.FillMode fillMode,
                                     java.lang.String flat,
                                     Indent plusIndent,
                                     java.util.Optional<Output.BreakTag> optTag)
        Make a Break.
        Parameters:
        fillMode - the Doc.FillMode
        flat - the text when not broken
        plusIndent - extra indent if taken
        optTag - an optional tag for remembering whether the break was taken
        Returns:
        the new Break
      • makeForced

        public static Doc.Break makeForced()
        Make a forced Break.
        Returns:
        the new forced Break
      • getPlusIndent

        int getPlusIndent()
        Return the Break's extra indent.
        Returns:
        the extra indent
      • isForced

        boolean isForced()
        Is the Break forced?
        Returns:
        whether the Break is forced
      • add

        public void add​(DocBuilder builder)
        Description copied from interface: Op
        Add an Op to a DocBuilder.
        Specified by:
        add in interface Op
        Parameters:
        builder - the DocBuilder
      • computeWidth

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

        java.lang.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<java.lang.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​(Doc.State state,
                                       int lastIndent,
                                       boolean broken)
      • 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
        maxWidth - the maximum line width
        state - the current output state
        Returns:
        the new output 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
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object