clang 20.0.0git
|
The current state when indenting a unwrapped line. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/Format/ContinuationIndenter.h"
Public Member Functions | |
bool | operator< (const LineState &Other) const |
Comparison operator to be able to used LineState in map . | |
Public Attributes | |
unsigned | Column |
The number of used columns in the current line. | |
FormatToken * | NextToken |
The token that needs to be next formatted. | |
bool | NoContinuation |
true if NextToken should not continue this line. | |
unsigned | StartOfLineLevel |
The NestingLevel at the start of this line. | |
unsigned | LowestLevelOnLine |
The lowest NestingLevel on the current line. | |
unsigned | StartOfStringLiteral |
The start column of the string literal, if we're in a string literal sequence, 0 otherwise. | |
bool | NoLineBreak |
Disallow line breaks for this line. | |
SmallVector< ParenState > | Stack |
A stack keeping track of properties applying to parenthesis levels. | |
bool | IgnoreStackForComparison |
Ignore the stack of ParenStates for state comparison. | |
unsigned | FirstIndent |
The indent of the first token. | |
const AnnotatedLine * | Line |
The line that is being formatted. | |
The current state when indenting a unwrapped line.
As the indenting tries different combinations this is copied by value.
Definition at line 411 of file ContinuationIndenter.h.
Comparison operator to be able to used LineState
in map
.
Definition at line 462 of file ContinuationIndenter.h.
References Column, IgnoreStackForComparison, LowestLevelOnLine, NextToken, NoContinuation, clang::format::Other, Stack, StartOfLineLevel, and StartOfStringLiteral.
unsigned clang::format::LineState::Column |
The number of used columns in the current line.
Definition at line 413 of file ContinuationIndenter.h.
Referenced by operator<().
unsigned clang::format::LineState::FirstIndent |
The indent of the first token.
Definition at line 454 of file ContinuationIndenter.h.
bool clang::format::LineState::IgnoreStackForComparison |
Ignore the stack of ParenStates
for state comparison.
In long and deeply nested unwrapped lines, the current algorithm can be insufficient for finding the best formatting with a reasonable amount of time and memory. Setting this flag will effectively lead to the algorithm not analyzing some combinations. However, these combinations rarely contain the optimal solution: In short, accepting a higher penalty early would need to lead to different values in the ParenState
stack (in an otherwise identical state) and these different values would need to lead to a significant amount of avoided penalty later.
FIXME: Come up with a better algorithm instead.
Definition at line 451 of file ContinuationIndenter.h.
Referenced by operator<().
const AnnotatedLine* clang::format::LineState::Line |
The line that is being formatted.
Does not need to be considered for memoization because it doesn't change.
Definition at line 459 of file ContinuationIndenter.h.
unsigned clang::format::LineState::LowestLevelOnLine |
The lowest NestingLevel
on the current line.
Definition at line 425 of file ContinuationIndenter.h.
Referenced by operator<().
FormatToken* clang::format::LineState::NextToken |
The token that needs to be next formatted.
Definition at line 416 of file ContinuationIndenter.h.
Referenced by operator<().
bool clang::format::LineState::NoContinuation |
true
if NextToken
should not continue this line.
Definition at line 419 of file ContinuationIndenter.h.
Referenced by operator<().
bool clang::format::LineState::NoLineBreak |
Disallow line breaks for this line.
Definition at line 432 of file ContinuationIndenter.h.
SmallVector<ParenState> clang::format::LineState::Stack |
A stack keeping track of properties applying to parenthesis levels.
Definition at line 436 of file ContinuationIndenter.h.
Referenced by operator<().
unsigned clang::format::LineState::StartOfLineLevel |
The NestingLevel
at the start of this line.
Definition at line 422 of file ContinuationIndenter.h.
Referenced by operator<().
unsigned clang::format::LineState::StartOfStringLiteral |
The start column of the string literal, if we're in a string literal sequence, 0 otherwise.
Definition at line 429 of file ContinuationIndenter.h.
Referenced by operator<().