|
clang
3.8.0
|
The current state when indenting a unwrapped line. More...
#include <ContinuationIndenter.h>
Public Member Functions | |
| bool | operator< (const LineState &Other) const |
Comparison operator to be able to used LineState in map. More... | |
Public Attributes | |
| unsigned | Column |
| The number of used columns in the current line. More... | |
| FormatToken * | NextToken |
| The token that needs to be next formatted. More... | |
| bool | LineContainsContinuedForLoopSection |
true if this line contains a continued for-loop section. More... | |
| unsigned | StartOfLineLevel |
The NestingLevel at the start of this line. More... | |
| unsigned | LowestLevelOnLine |
The lowest NestingLevel on the current line. More... | |
| unsigned | StartOfStringLiteral |
| The start column of the string literal, if we're in a string literal sequence, 0 otherwise. More... | |
| std::vector< ParenState > | Stack |
| A stack keeping track of properties applying to parenthesis levels. More... | |
| bool | IgnoreStackForComparison |
Ignore the stack of ParenStates for state comparison. More... | |
| unsigned | FirstIndent |
| The indent of the first token. More... | |
| const AnnotatedLine * | Line |
| The line that is being formatted. More... | |
The current state when indenting a unwrapped line.
As the indenting tries different combinations this is copied by value.
Definition at line 309 of file ContinuationIndenter.h.
Comparison operator to be able to used LineState in map.
Definition at line 357 of file ContinuationIndenter.h.
References Column, IgnoreStackForComparison, LineContainsContinuedForLoopSection, LowestLevelOnLine, NextToken, Stack, StartOfLineLevel, and StartOfStringLiteral.
| unsigned clang::format::LineState::Column |
The number of used columns in the current line.
Definition at line 311 of file ContinuationIndenter.h.
Referenced by clang::format::ContinuationIndenter::addTokenToState(), clang::format::ContinuationIndenter::canBreak(), clang::format::CommaSeparatedList::formatAfterToken(), clang::format::ContinuationIndenter::getInitialState(), clang::format::ContinuationIndenter::mustBreak(), and operator<().
| unsigned clang::format::LineState::FirstIndent |
The indent of the first token.
Definition at line 349 of file ContinuationIndenter.h.
Referenced by clang::format::ContinuationIndenter::getInitialState(), and clang::format::ContinuationIndenter::mustBreak().
| 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 346 of file ContinuationIndenter.h.
Referenced by clang::format::ContinuationIndenter::getInitialState(), and 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 354 of file ContinuationIndenter.h.
Referenced by clang::format::ContinuationIndenter::getColumnLimit(), clang::format::ContinuationIndenter::getInitialState(), and clang::format::ContinuationIndenter::mustBreak().
| bool clang::format::LineState::LineContainsContinuedForLoopSection |
true if this line contains a continued for-loop section.
Definition at line 317 of file ContinuationIndenter.h.
Referenced by clang::format::ContinuationIndenter::getInitialState(), clang::format::ContinuationIndenter::mustBreak(), and operator<().
| unsigned clang::format::LineState::LowestLevelOnLine |
The lowest NestingLevel on the current line.
Definition at line 323 of file ContinuationIndenter.h.
Referenced by clang::format::ContinuationIndenter::canBreak(), clang::format::ContinuationIndenter::getInitialState(), and operator<().
| FormatToken* clang::format::LineState::NextToken |
The token that needs to be next formatted.
Definition at line 314 of file ContinuationIndenter.h.
Referenced by clang::format::ContinuationIndenter::addTokenToState(), clang::format::ContinuationIndenter::canBreak(), clang::format::CommaSeparatedList::formatAfterToken(), clang::format::ContinuationIndenter::getInitialState(), clang::format::ContinuationIndenter::mustBreak(), and operator<().
| std::vector<ParenState> clang::format::LineState::Stack |
A stack keeping track of properties applying to parenthesis levels.
Definition at line 331 of file ContinuationIndenter.h.
Referenced by clang::format::ContinuationIndenter::addTokenToState(), clang::format::ContinuationIndenter::canBreak(), clang::format::CommaSeparatedList::formatFromToken(), clang::format::ContinuationIndenter::getInitialState(), clang::format::ContinuationIndenter::mustBreak(), and operator<().
| unsigned clang::format::LineState::StartOfLineLevel |
The NestingLevel at the start of this line.
Definition at line 320 of file ContinuationIndenter.h.
Referenced by clang::format::ContinuationIndenter::canBreak(), clang::format::ContinuationIndenter::getInitialState(), clang::format::ContinuationIndenter::mustBreak(), and 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 327 of file ContinuationIndenter.h.
Referenced by clang::format::ContinuationIndenter::getInitialState(), and operator<().
1.8.6