Lines Matching full:current
53 // Returns \c true if \c Current starts a new parameter.
54 static bool startsNextParameter(const FormatToken &Current, in startsNextParameter() argument
56 const FormatToken &Previous = *Current.Previous; in startsNextParameter()
57 if (Current.is(TT_CtorInitializerComma) && in startsNextParameter()
60 return Previous.is(tok::comma) && !Current.isTrailingComment() && in startsNextParameter()
99 const FormatToken &Current = *State.NextToken; in canBreak() local
100 const FormatToken &Previous = *Current.Previous; in canBreak()
101 assert(&Previous == Current.Previous); in canBreak()
102 if (!Current.CanBreakBefore && in canBreak()
104 Current.closesBlockOrBlockTypeList(Style))) in canBreak()
108 if (!Current.MustBreakBefore && Previous.is(tok::l_brace) && in canBreak()
120 State.LowestLevelOnLine < Current.NestingLevel) in canBreak()
122 if (Current.isMemberAccess() && State.Stack.back().ContainsUnwrappedBuilder) in canBreak()
134 if (Current.is(TT_FunctionDeclarationName) && State.Column < 6) { in canBreak()
143 const FormatToken &Current = *State.NextToken; in mustBreak() local
144 const FormatToken &Previous = *Current.Previous; in mustBreak()
145 if (Current.MustBreakBefore || Current.is(TT_InlineASMColon)) in mustBreak()
148 Current.closesBlockOrBlockTypeList(Style)) in mustBreak()
152 if ((startsNextParameter(Current, Style) || Previous.is(tok::semi) || in mustBreak()
153 (Previous.is(TT_TemplateCloser) && Current.is(TT_StartOfName) && in mustBreak()
160 (Style.BreakBeforeTernaryOperators && Current.is(TT_ConditionalExpr) && in mustBreak()
164 State.Stack.back().BreakBeforeParameter && !Current.isTrailingComment() && in mustBreak()
165 !Current.isOneOf(tok::r_paren, tok::r_brace)) in mustBreak()
174 if (Current.is(TT_CtorInitializerColon) && in mustBreak()
175 (State.Column + State.Line->Last->TotalLength - Current.TotalLength + 2 > in mustBreak()
181 if (Current.is(TT_SelectorName) && State.Stack.back().ObjCSelectorNameFound && in mustBreak()
186 if (Current.isMemberAccess() && Style.ColumnLimit != 0 && in mustBreak()
187 State.Column + getLengthToNextOperator(Current) > Style.ColumnLimit && in mustBreak()
189 Current.NestingLevel < State.StartOfLineLevel)) in mustBreak()
197 Previous.is(tok::comma) || Current.NestingLevel < 2) && in mustBreak()
204 // current style uses wrapping before or after operators for the given in mustBreak()
206 if (Previous.is(TT_BinaryOperator) && Current.CanBreakBefore) { in mustBreak()
222 if ((!IsComparison || LHSIsBinaryExpr) && !Current.isTrailingComment() && in mustBreak()
226 } else if (Current.is(TT_BinaryOperator) && Current.CanBreakBefore && in mustBreak()
232 if (Current.is(tok::lessless) && Current.isNot(TT_OverloadedOperator) && in mustBreak()
237 if (Current.NestingLevel == 0 && !Current.isTrailingComment()) { in mustBreak()
245 if (Previous.is(TT_LeadingJavaAnnotation) && Current.isNot(tok::l_paren) && in mustBreak()
246 Current.isNot(TT_LeadingJavaAnnotation)) in mustBreak()
251 if ((Current.is(TT_FunctionDeclarationName) || in mustBreak()
252 (Current.is(tok::kw_operator) && !Previous.is(tok::coloncolon))) && in mustBreak()
256 if (startsSegmentOfBuilderTypeCall(Current) && in mustBreak()
265 Previous.is(tok::l_brace) && !Current.isOneOf(tok::r_brace, tok::comment)) in mustBreak()
268 if (Current.is(tok::lessless) && in mustBreak()
280 const FormatToken &Current = *State.NextToken; in addTokenToState() local
283 if ((Current.is(TT_ImplicitStringLiteral) && in addTokenToState()
284 (Current.Previous->Tok.getIdentifierInfo() == nullptr || in addTokenToState()
285 Current.Previous->Tok.getIdentifierInfo()->getPPKeywordID() == in addTokenToState()
288 SourceMgr.getSpellingColumnNumber(Current.WhitespaceRange.getEnd()); in addTokenToState()
289 if (Current.LastNewlineOffset != 0) { in addTokenToState()
291 // determined by the current end column. in addTokenToState()
295 SourceMgr.getSpellingColumnNumber(Current.WhitespaceRange.getBegin()); in addTokenToState()
314 FormatToken &Current = *State.NextToken; in addTokenOnCurrentLine() local
316 if (Current.is(tok::equal) && in addTokenOnCurrentLine()
317 (State.Line->First->is(tok::kw_for) || Current.NestingLevel == 0) && in addTokenOnCurrentLine()
332 unsigned Spaces = Current.SpacesRequiredBefore + ExtraSpaces; in addTokenOnCurrentLine()
335 Whitespaces.replaceWhitespace(Current, /*Newlines=*/0, /*IndentLevel=*/0, in addTokenOnCurrentLine()
338 if (Current.is(TT_SelectorName) && in addTokenOnCurrentLine()
343 unsigned FirstColonPos = State.Column + Spaces + Current.ColumnWidth; in addTokenOnCurrentLine()
344 if (Current.LongestObjCSelectorName == 0) in addTokenOnCurrentLine()
346 else if (MinIndent + Current.LongestObjCSelectorName > FirstColonPos) in addTokenOnCurrentLine()
347 State.Stack.back().ColonPos = MinIndent + Current.LongestObjCSelectorName; in addTokenOnCurrentLine()
368 Current.FakeLParens.size() > 0 && in addTokenOnCurrentLine()
369 Current.FakeLParens.back() > prec::Unknown) in addTokenOnCurrentLine()
374 (Current.isNot(TT_LineComment) || Previous.BlockKind == BK_BracedInit)) in addTokenOnCurrentLine()
376 if (State.Stack.back().AvoidBinPacking && startsNextParameter(Current, Style)) in addTokenOnCurrentLine()
378 if (startsSegmentOfBuilderTypeCall(Current) && in addTokenOnCurrentLine()
382 if (Current.is(TT_LambdaArrow) && Style.Language == FormatStyle::LK_Java) in addTokenOnCurrentLine()
384 if (Current.isMemberAccess() && Previous.is(tok::r_paren) && in addTokenOnCurrentLine()
397 if (Current.isNot(tok::comment) && Previous.is(tok::l_paren) && in addTokenOnCurrentLine()
404 } else if (!Current.isOneOf(tok::comment, tok::caret) && in addTokenOnCurrentLine()
414 Current.StartsBinaryExpression)) { in addTokenOnCurrentLine()
441 FormatToken &Current = *State.NextToken; in addTokenOnNewLine() local
448 const FormatToken *PreviousNonComment = Current.getPreviousNonComment(); in addTokenOnNewLine()
451 NextNonComment = &Current; in addTokenOnNewLine()
481 if (!Current.is(TT_LambdaArrow) && in addTokenOnNewLine()
483 Current.NestingLevel != 0 || !PreviousNonComment || in addTokenOnNewLine()
485 !Current.isOneOf(Keywords.kw_async, Keywords.kw_function))) in addTokenOnNewLine()
529 Current.NestingLevel == 0) in addTokenOnNewLine()
534 if (Current.is(TT_BinaryOperator) && Current.CanBreakBefore) in addTokenOnNewLine()
539 1u, std::min(Current.NewlinesBefore, Style.MaxEmptyLinesToKeep + 1)); in addTokenOnNewLine()
540 Whitespaces.replaceWhitespace(Current, Newlines, in addTokenOnNewLine()
545 if (!Current.isTrailingComment()) in addTokenOnNewLine()
547 if (Current.is(tok::lessless)) in addTokenOnNewLine()
553 State.StartOfLineLevel = Current.NestingLevel; in addTokenOnNewLine()
554 State.LowestLevelOnLine = Current.NestingLevel; in addTokenOnNewLine()
560 Current.is(tok::r_brace) && State.Stack.size() > 1 && in addTokenOnNewLine()
569 Current.NestingLevel != 0) && in addTokenOnNewLine()
573 Current.isNot(TT_BinaryOperator) && !PreviousNonComment->opensScope()) in addTokenOnNewLine()
599 FormatToken &Current = *State.NextToken; in getNewLineColumn() local
600 const FormatToken &Previous = *Current.Previous; in getNewLineColumn()
605 const FormatToken *PreviousNonComment = Current.getPreviousNonComment(); in getNewLineColumn()
608 NextNonComment = &Current; in getNewLineColumn()
612 Current.isOneOf(Keywords.kw_implements, Keywords.kw_extends)) in getNewLineColumn()
617 return Current.NestingLevel == 0 ? State.FirstIndent in getNewLineColumn()
619 if (Current.isOneOf(tok::r_brace, tok::r_square) && State.Stack.size() > 1) { in getNewLineColumn()
620 if (Current.closesBlockOrBlockTypeList(Style)) in getNewLineColumn()
622 if (Current.MatchingParen && in getNewLineColumn()
623 Current.MatchingParen->BlockKind == BK_BracedInit) in getNewLineColumn()
627 if (Current.is(tok::identifier) && Current.Next && in getNewLineColumn()
628 Current.Next->is(TT_DictLiteral)) in getNewLineColumn()
697 if (Previous.is(tok::r_paren) && !Current.isBinaryOperator() && in getNewLineColumn()
698 !Current.isOneOf(tok::colon, tok::comment)) in getNewLineColumn()
711 const FormatToken &Current = *State.NextToken; in moveStateToNextToken() local
713 if (Current.is(TT_InheritanceColon)) in moveStateToNextToken()
715 if (Current.is(tok::lessless) && Current.isNot(TT_OverloadedOperator)) { in moveStateToNextToken()
721 if ((Current.is(TT_BinaryOperator) && Current.isNot(tok::lessless)) || in moveStateToNextToken()
722 Current.is(TT_ConditionalExpr)) in moveStateToNextToken()
724 if (Current.is(TT_ArraySubscriptLSquare) && in moveStateToNextToken()
727 if (Style.BreakBeforeTernaryOperators && Current.is(tok::question)) in moveStateToNextToken()
729 if (!Style.BreakBeforeTernaryOperators && Current.isNot(tok::colon)) { in moveStateToNextToken()
730 const FormatToken *Previous = Current.Previous; in moveStateToNextToken()
736 if (!Current.opensScope() && !Current.closesScope()) in moveStateToNextToken()
738 std::min(State.LowestLevelOnLine, Current.NestingLevel); in moveStateToNextToken()
739 if (Current.isMemberAccess()) in moveStateToNextToken()
741 !Current.NextOperator ? 0 : State.Column; in moveStateToNextToken()
742 if (Current.is(TT_SelectorName)) { in moveStateToNextToken()
749 if (Current.is(TT_CtorInitializerColon)) { in moveStateToNextToken()
762 if (Current.isOneOf(TT_BinaryOperator, TT_ConditionalExpr) && Newline) in moveStateToNextToken()
764 State.Column + Current.ColumnWidth + 1; in moveStateToNextToken()
767 const FormatToken *Previous = Current.getPreviousNonComment(); in moveStateToNextToken()
775 if (Current.isNot(tok::comment) && Previous && in moveStateToNextToken()
796 if (Current.isStringLiteral() && State.StartOfStringLiteral == 0) in moveStateToNextToken()
798 if (Current.is(TT_ObjCStringLiteral) && State.StartOfStringLiteral == 0) in moveStateToNextToken()
800 else if (!Current.isOneOf(tok::comment, tok::identifier, tok::hash) && in moveStateToNextToken()
801 !Current.isStringLiteral()) in moveStateToNextToken()
804 State.Column += Current.ColumnWidth; in moveStateToNextToken()
806 unsigned Penalty = breakProtrudingToken(Current, State, DryRun); in moveStateToNextToken()
812 if (Current.Role) in moveStateToNextToken()
813 Current.Role->formatFromToken(State, this, DryRun); in moveStateToNextToken()
827 const FormatToken &Current = *State.NextToken; in moveStatePastFakeLParens() local
828 const FormatToken *Previous = Current.getPreviousNonComment(); in moveStatePastFakeLParens()
840 I = Current.FakeLParens.rbegin(), in moveStatePastFakeLParens()
841 E = Current.FakeLParens.rend(); in moveStatePastFakeLParens()
849 if (!Current.isTrailingComment() && in moveStatePastFakeLParens()
854 *I != prec::Comma || Current.NestingLevel == 0)) in moveStatePastFakeLParens()
885 if (*I != prec::Conditional && !Current.is(TT_UnaryOperator) && in moveStatePastFakeLParens()
895 !Current.isTrailingComment())) in moveStatePastFakeLParens()
918 const FormatToken &Current = *State.NextToken; in moveStatePastScopeOpener() local
919 if (!Current.opensScope()) in moveStatePastScopeOpener()
922 if (Current.MatchingParen && Current.BlockKind == BK_Block) { in moveStatePastScopeOpener()
934 if (Current.isOneOf(tok::l_brace, TT_ArrayInitializerLSquare)) { in moveStatePastScopeOpener()
935 if (Current.opensBlockOrBlockTypeList(Style)) { in moveStatePastScopeOpener()
942 const FormatToken *NextNoComment = Current.getNextNonComment(); in moveStatePastScopeOpener()
943 bool EndsInComma = Current.MatchingParen && in moveStatePastScopeOpener()
944 Current.MatchingParen->Previous && in moveStatePastScopeOpener()
945 Current.MatchingParen->Previous->is(tok::comma); in moveStatePastScopeOpener()
947 (Current.is(TT_ArrayInitializerLSquare) && EndsInComma) || in moveStatePastScopeOpener()
948 Current.is(TT_DictLiteral) || in moveStatePastScopeOpener()
951 if (Current.ParameterCount > 1) in moveStatePastScopeOpener()
963 if (Current.Tok.getKind() == tok::less && in moveStatePastScopeOpener()
964 Current.ParentBracket == tok::l_paren) { in moveStatePastScopeOpener()
973 (Current.PackingKind == PPK_OnePerLine || in moveStatePastScopeOpener()
975 Current.PackingKind == PPK_Inconclusive))); in moveStatePastScopeOpener()
976 if (Current.is(TT_ObjCMethodExpr) && Current.MatchingParen) { in moveStatePastScopeOpener()
980 if (getLengthToMatchingParen(Current) + State.Column > in moveStatePastScopeOpener()
986 for (const FormatToken *Tok = &Current; in moveStatePastScopeOpener()
987 Tok && Tok != Current.MatchingParen; Tok = Tok->Next) { in moveStatePastScopeOpener()
997 // Generally inherit NoLineBreak from the current scope to nested scope. in moveStatePastScopeOpener()
1001 Current.Children.empty() && in moveStatePastScopeOpener()
1002 !Current.isOneOf(TT_DictLiteral, TT_ArrayInitializerLSquare) && in moveStatePastScopeOpener()
1004 (Current.is(TT_TemplateOpener) && in moveStatePastScopeOpener()
1010 State.Stack.back().HasMultipleNestedBlocks = Current.BlockParameterCount > 1; in moveStatePastScopeOpener()
1014 const FormatToken &Current = *State.NextToken; in moveStatePastScopeCloser() local
1015 if (!Current.closesScope()) in moveStatePastScopeCloser()
1021 (Current.isOneOf(tok::r_paren, tok::r_square) || in moveStatePastScopeCloser()
1022 (Current.is(tok::r_brace) && State.NextToken != State.Line->First) || in moveStatePastScopeCloser()
1026 if (Current.is(tok::r_square)) { in moveStatePastScopeCloser()
1028 const FormatToken *NextNonComment = Current.getNextNonComment(); in moveStatePastScopeCloser()
1049 unsigned ContinuationIndenter::addMultilineToken(const FormatToken &Current, in addMultilineToken() argument
1051 if (!Current.IsMultiline) in addMultilineToken()
1061 State.Column = Current.LastLineColumnWidth; in addMultilineToken()
1068 unsigned ContinuationIndenter::breakProtrudingToken(const FormatToken &Current, in breakProtrudingToken() argument
1073 if (Current.isNot(TT_BlockComment) && Current.IsMultiline) in breakProtrudingToken()
1074 return addMultilineToken(Current, State); in breakProtrudingToken()
1077 if (Current.is(TT_ImplicitStringLiteral) || in breakProtrudingToken()
1081 if (!Current.isStringLiteral() && !Current.is(tok::comment)) in breakProtrudingToken()
1085 unsigned StartColumn = State.Column - Current.ColumnWidth; in breakProtrudingToken()
1088 if (Current.isStringLiteral()) { in breakProtrudingToken()
1105 if (Current.IsUnterminatedLiteral) in breakProtrudingToken()
1108 StringRef Text = Current.TokenText; in breakProtrudingToken()
1116 if (Text.startswith("\"") && Current.Previous && in breakProtrudingToken()
1117 Current.Previous->is(tok::at)) { in breakProtrudingToken()
1128 Current, State.Line->Level, StartColumn, Prefix, Postfix, in breakProtrudingToken()
1133 } else if (Current.is(TT_BlockComment)) { in breakProtrudingToken()
1134 if (!Current.isTrailingComment() || !Style.ReflowComments || in breakProtrudingToken()
1135 CommentPragmasRegex.match(Current.TokenText.substr(2))) in breakProtrudingToken()
1136 return addMultilineToken(Current, State); in breakProtrudingToken()
1138 Current, State.Line->Level, StartColumn, Current.OriginalColumn, in breakProtrudingToken()
1139 !Current.Previous, State.Line->InPPDirective, Encoding, Style)); in breakProtrudingToken()
1140 } else if (Current.is(TT_LineComment) && in breakProtrudingToken()
1141 (Current.Previous == nullptr || in breakProtrudingToken()
1142 Current.Previous->isNot(TT_ImplicitStringLiteral))) { in breakProtrudingToken()
1144 CommentPragmasRegex.match(Current.TokenText.substr(2))) in breakProtrudingToken()
1146 Token.reset(new BreakableLineComment(Current, State.Line->Level, in breakProtrudingToken()
1154 if (Current.UnbreakableTailLength >= ColumnLimit) in breakProtrudingToken()
1157 unsigned RemainingSpace = ColumnLimit - Current.UnbreakableTailLength; in breakProtrudingToken()
1199 Penalty += Current.SplitPenalty; in breakProtrudingToken()
1217 if (Current.isNot(TT_LineComment)) { in breakProtrudingToken()
1222 Penalty += Current.isStringLiteral() ? Style.PenaltyBreakString in breakProtrudingToken()
1236 const FormatToken &Current = *State.NextToken; in nextIsMultilineString() local
1237 if (!Current.isStringLiteral() || Current.is(TT_ImplicitStringLiteral)) in nextIsMultilineString()
1242 if (Current.TokenText.startswith("R\"")) in nextIsMultilineString()
1244 if (Current.IsMultiline) in nextIsMultilineString()
1246 if (Current.getNextNonComment() && in nextIsMultilineString()
1247 Current.getNextNonComment()->isStringLiteral()) in nextIsMultilineString()
1250 State.Column + Current.ColumnWidth + Current.UnbreakableTailLength > in nextIsMultilineString()