java.lang.Object
com.google.googlejavaformat.Doc
JavaInputAstVisitor outputs a
sequence of Ops using OpsBuilder. This linear sequence is then transformed by
DocBuilder into a tree-structured Doc. The top-level Doc is a Doc.Level, which contains a sequence of Docs, including other Doc.Levels. Leaf
Docs are Doc.Tokens, representing language-level tokens; Doc.Toks, which may also
represent non-token Input.Toks, including comments and other white-space; Doc.Spaces,
representing single spaces; and Doc.Breaks, which represent optional line-breaks.-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intThe maximum supported line width. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract Doc.StatecomputeBreaks(CommentsHelper commentsHelper, int maxWidth, Doc.State state) Make breaking decisions for aDoc.abstract voidWrite aDocto anOutput, after breaking decisions have been made.
-
Field Details
-
MAX_LINE_WIDTH
public static final int MAX_LINE_WIDTHThe maximum supported line width.This can be used as a sentinel/threshold for
Docs that break unconditionally.The value was selected to be obviously too large for any practical line, but small enough to prevent accidental overflow.
- See Also:
-
-
Constructor Details
-
Doc
public Doc()
-
-
Method Details
-
computeBreaks
public abstract Doc.State computeBreaks(CommentsHelper commentsHelper, int maxWidth, Doc.State state) Make breaking decisions for aDoc.- Parameters:
maxWidth- the maximum line widthstate- the current output state- Returns:
- the new output state
-
write
Write aDocto anOutput, after breaking decisions have been made.
-