assert(!
Line.Tokens.empty());
73 if(
Node.Tok->MacroParent)
75Current->Next =
Node.Tok;
76 Node.Tok->Previous = Current;
77Current = Current->Next;
88Current->Children.clear();
89 for(
const auto&Child :
Node.Children) {
91 if(
Children.back()->ContainsMacroCall)
93Current->Children.push_back(
Children.back());
100Size += Child->size();
109Current->Children.clear();
110Current->Role.reset();
111Current = Current->Next;
121 template<
typename... Ts>
bool startsWith(Ts... Tokens)
const{
129 template<
typename... Ts>
bool endsWith(Ts... Tokens)
const{
153 startsWith(tok::kw_inline, tok::kw_namespace) ||
154 startsWith(tok::kw_export, tok::kw_namespace);
159 return startsWith(tok::kw_export, tok::l_brace);
226: Style(Style), IsCpp(Style.isCpp()),
228assert(IsCpp == LangOpts.CXXOperatorNames);
242 boolInFunctionDecl)
const;
244 boolspaceRequiredBeforeParens(
const FormatToken&Right)
const;
268 unsignedDepth)
const;
270getTokenReferenceAlignment(
const FormatToken&PointerOrReference)
const;
This file contains the declaration of the UnwrappedLineParser, which turns a stream of tokens into Un...
Keeps track of the various options that can be enabled, which controls the dialect of C or C++ that i...
The base class of the type hierarchy.
void addChildren(const UnwrappedLineNode &Node, FormatToken *Current)
bool ReturnTypeWrapped
True if breaking after last attribute group in function return type.
FormatToken * getFirstNonComment() const
size_t MatchingClosingBlockLineIndex
bool Computed
True if calculateFormattingInformation() has been called on this line.
bool LeadingEmptyLinesAffected
True if the leading empty lines of this line intersect with one of the input ranges.
bool Affected
True if this line should be formatted, i.e.
AnnotatedLine(const UnwrappedLine &Line)
bool ContainsMacroCall
True if this line contains a macro call for which an expansion exists.
bool mightBeFunctionDefinition() const
true if this line looks like a function definition instead of a function declaration.
bool ChildrenAffected
True if one of this line's children intersects with an input range.
SmallVector< AnnotatedLine *, 0 > Children
bool startsWithNamespace() const
true if this line starts a namespace definition.
bool startsWithExportBlock() const
true if this line starts a C++ export block.
bool IsContinuation
True if this line should be indented by ContinuationIndent in addition to the normal indention level.
bool endsWith(Ts... Tokens) const
true if this line ends with the given tokens in reversed order, ignoring comments.
bool startsWith(Ts... Tokens) const
true if this line starts with the given tokens in order, ignoring comments.
bool IsMultiVariableDeclStmt
size_t MatchingOpeningBlockLineIndex
FormatToken * getLastNonComment() const
unsigned FirstStartColumn
Determines extra information about the tokens comprising an UnwrappedLine.
void calculateFormattingInformation(AnnotatedLine &Line) const
void annotate(AnnotatedLine &Line)
TokenAnnotator(const FormatStyle &Style, const AdditionalKeywords &Keywords)
void setCommentLineLevels(SmallVectorImpl< AnnotatedLine * > &Lines) const
Adapts the indent levels of comment lines to the indent of the subsequent line.
LangOptions getFormattingLangOpts(const FormatStyle &Style=getLLVMStyle())
Returns the LangOpts that the formatter expects you to set.
@ LT_CommentAbovePPDirective
@ LT_PreprocessorDirective
@ LT_ArrayOfStructInitializer
The JSON file list parser is used to communicate input to InstallAPI.
Encapsulates keywords that are context sensitive or for languages not properly supported by Clang's l...
The FormatStyle is used to configure the formatting to follow specific guidelines.
PointerAlignmentStyle
The &, && and * alignment style.
A wrapper around a Token storing information about the whitespace characters preceding it.
bool startsSequence(A K1, Ts... Tokens) const
true if this token starts a sequence with the given tokens in order, following the Next pointers,...
FormatToken * getNextNonComment() const
Returns the next token ignoring comments.
FormatToken * getPreviousNonComment() const
Returns the previous token ignoring comments.
FormatToken * Next
The next token in the unwrapped line.
bool is(tok::TokenKind Kind) const
FormatToken * Previous
The previous token in the unwrapped line.
bool endsSequence(A K1, Ts... Tokens) const
true if this token ends a sequence with the given tokens in order, following the Previous pointers,...
An unwrapped line is a sequence of Token, that we would like to put on a single line if there was no ...
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4