clang 20.0.0git
|
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Format/ContinuationIndenter.h"
Public Member Functions | |
ContinuationIndenter (const FormatStyle &Style, const AdditionalKeywords &Keywords, const SourceManager &SourceMgr, WhitespaceManager &Whitespaces, encoding::Encoding Encoding, bool BinPackInconclusiveFunctions) | |
Constructs a ContinuationIndenter to format Line starting in column FirstIndent . | |
LineState | getInitialState (unsigned FirstIndent, unsigned FirstStartColumn, const AnnotatedLine *Line, bool DryRun) |
Get the initial state, i.e. | |
bool | canBreak (const LineState &State) |
Returns true , if a line break after State is allowed. | |
bool | mustBreak (const LineState &State) |
Returns true , if a line break after State is mandatory. | |
unsigned | addTokenToState (LineState &State, bool Newline, bool DryRun, unsigned ExtraSpaces=0) |
Appends the next token to State and updates information necessary for indentation. | |
unsigned | getColumnLimit (const LineState &State) const |
Get the column limit for this line. | |
Definition at line 46 of file ContinuationIndenter.h.
clang::format::ContinuationIndenter::ContinuationIndenter | ( | const FormatStyle & | Style, |
const AdditionalKeywords & | Keywords, | ||
const SourceManager & | SourceMgr, | ||
WhitespaceManager & | Whitespaces, | ||
encoding::Encoding | Encoding, | ||
bool | BinPackInconclusiveFunctions | ||
) |
Constructs a ContinuationIndenter
to format Line
starting in column FirstIndent
.
Definition at line 261 of file ContinuationIndenter.cpp.
unsigned clang::format::ContinuationIndenter::addTokenToState | ( | LineState & | State, |
bool | Newline, | ||
bool | DryRun, | ||
unsigned | ExtraSpaces = 0 |
||
) |
Appends the next token to State
and updates information necessary for indentation.
Puts the token on the current line if Newline
is false
and adds a line break and necessary indentation otherwise.
If DryRun
is false
, also creates and stores the required Replacement
.
Definition at line 659 of file ContinuationIndenter.cpp.
References clang::SourceManager::getSpellingColumnNumber(), and Previous.
Returns true
, if a line break after State
is allowed.
Definition at line 316 of file ContinuationIndenter.cpp.
References clang::format::FormatStyle::BraceWrappingFlags::BeforeLambdaBody, clang::format::BK_BracedInit, clang::format::FormatStyle::BraceWrapping, clang::format::FormatStyle::BreakAfterReturnType, clang::format::FormatStyle::LambdaBodyIndentation, clang::format::FormatStyle::LBI_Signature, Previous, clang::format::FormatStyle::RTBS_ExceptShortType, and clang::format::FormatStyle::RTBS_None.
Get the column limit for this line.
This is the style's column limit, potentially reduced for preprocessor definitions.
Definition at line 2884 of file ContinuationIndenter.cpp.
References clang::format::FormatStyle::ColumnLimit.
Referenced by mustBreak().
LineState clang::format::ContinuationIndenter::getInitialState | ( | unsigned | FirstIndent, |
unsigned | FirstStartColumn, | ||
const AnnotatedLine * | Line, | ||
bool | DryRun | ||
) |
Get the initial state, i.e.
the state after placing Line's
first token at FirstIndent
. When reformatting a fragment of code, as in the case of formatting inside raw string literals, FirstStartColumn
is the column at which the state of the parent formatter is.
Definition at line 272 of file ContinuationIndenter.cpp.
References clang::format::FormatStyle::IndentPPDirectives, clang::format::FormatStyle::Language, clang::Line, clang::format::FormatStyle::LK_TextProto, clang::format::LT_ImportStatement, clang::format::LT_PreprocessorDirective, and clang::format::FormatStyle::PPDIS_AfterHash.
Returns true
, if a line break after State
is mandatory.
Definition at line 397 of file ContinuationIndenter.cpp.
References clang::format::FormatStyle::AllowShortFunctionsOnASingleLine, clang::format::FormatStyle::AlwaysBreakBeforeMultilineStrings, clang::prec::Assignment, clang::format::FormatStyle::BBCDS_Allowed, clang::format::FormatStyle::BBCDS_Always, clang::format::FormatStyle::BBCDS_Never, clang::format::FormatStyle::BBIAS_Always, clang::format::FormatStyle::BBIAS_OnlyMultiline, clang::format::FormatStyle::BCIS_AfterColon, clang::format::FormatStyle::BCIS_BeforeColon, clang::format::FormatStyle::BraceWrappingFlags::BeforeLambdaBody, clang::format::FormatStyle::BinPackParameters, clang::format::BK_Block, clang::format::FormatStyle::BraceWrapping, clang::format::FormatStyle::BreakAfterReturnType, clang::format::FormatStyle::BreakBeforeConceptDeclarations, clang::format::FormatStyle::BreakBeforeInlineASMColon, clang::format::FormatStyle::BreakBeforeTernaryOperators, clang::format::FormatStyle::BreakConstructorInitializers, clang::format::FormatStyle::BreakTemplateDeclarations, clang::format::FormatStyle::BTDS_Leave, clang::format::FormatStyle::BTDS_No, clang::format::FormatStyle::ColumnLimit, clang::format::FormatStyle::ContinuationIndentWidth, clang::prec::Equality, getColumnLimit(), clang::format::getLengthToMatchingParen(), clang::format::getLengthToNextOperator(), clang::format::FormatToken::is(), clang::format::FormatStyle::isCpp(), clang::format::FormatStyle::isCSharp(), clang::format::FormatStyle::isJavaScript(), clang::format::AdditionalKeywords::kw_dollar, clang::format::FormatStyle::Language, clang::format::FormatStyle::LK_ObjC, clang::format::LT_PreprocessorDirective, clang::format::FormatStyle::ObjCBreakBeforeNestedBlockParam, clang::format::opensProtoMessageField(), Previous, clang::format::FormatStyle::RCPS_SingleLine, clang::format::FormatStyle::RCPS_WithPreceding, clang::prec::Relational, clang::format::FormatStyle::RequiresClausePosition, clang::format::FormatStyle::RTBS_ExceptShortType, clang::format::FormatStyle::SFS_All, clang::prec::Spaceship, clang::format::startsNextParameter(), and clang::format::startsSegmentOfBuilderTypeCall().