Lines Matching refs:Current

121 static bool startsNextParameter(const FormatToken &Current,  in startsNextParameter()  argument
123 const FormatToken &Previous = *Current.Previous; in startsNextParameter()
124 if (Current.is(TT_CtorInitializerComma) && in startsNextParameter()
127 if (Style.Language == FormatStyle::LK_Proto && Current.is(TT_SelectorName)) in startsNextParameter()
129 return Previous.is(tok::comma) && !Current.isTrailingComment() && in startsNextParameter()
279 const FormatToken &Current = *State.NextToken; in canBreak() local
280 const FormatToken &Previous = *Current.Previous; in canBreak()
281 assert(&Previous == Current.Previous); in canBreak()
282 if (!Current.CanBreakBefore && !(State.Stack.back().BreakBeforeClosingBrace && in canBreak()
283 Current.closesBlockOrBlockTypeList(Style))) in canBreak()
287 if (!Current.MustBreakBefore && Previous.is(tok::l_brace) && in canBreak()
299 State.LowestLevelOnLine < Current.NestingLevel) in canBreak()
301 if (Current.isMemberAccess() && State.Stack.back().ContainsUnwrappedBuilder) in canBreak()
313 if (Current.is(TT_FunctionDeclarationName) && State.Column < 6) { in canBreak()
320 if (!Current.isOneOf(TT_BinaryOperator, tok::comma) && in canBreak()
331 const FormatToken &Current = *State.NextToken; in mustBreak() local
332 const FormatToken &Previous = *Current.Previous; in mustBreak()
333 if (Current.MustBreakBefore || Current.is(TT_InlineASMColon)) in mustBreak()
336 Current.closesBlockOrBlockTypeList(Style)) in mustBreak()
341 Current.ObjCSelectorNameParts > 1 && in mustBreak()
342 Current.startsSequence(TT_SelectorName, tok::colon, tok::caret)) { in mustBreak()
345 if ((startsNextParameter(Current, Style) || Previous.is(tok::semi) || in mustBreak()
346 (Previous.is(TT_TemplateCloser) && Current.is(TT_StartOfName) && in mustBreak()
353 (Style.BreakBeforeTernaryOperators && Current.is(TT_ConditionalExpr) && in mustBreak()
357 State.Stack.back().BreakBeforeParameter && !Current.isTrailingComment() && in mustBreak()
358 !Current.isOneOf(tok::r_paren, tok::r_brace)) in mustBreak()
372 : Current; in mustBreak()
382 if (Current.is(TT_ObjCMethodExpr) && !Previous.is(TT_SelectorName) && in mustBreak()
385 if (Current.is(TT_SelectorName) && !Previous.is(tok::at) && in mustBreak()
391 if (Current.isMemberAccess() && Style.ColumnLimit != 0 && in mustBreak()
392 State.Column + getLengthToNextOperator(Current) > Style.ColumnLimit && in mustBreak()
394 Current.NestingLevel < State.StartOfLineLevel)) in mustBreak()
397 if (startsSegmentOfBuilderTypeCall(Current) && in mustBreak()
414 State.Stack.back().BreakBeforeParameter && Current.CanBreakBefore) in mustBreak()
422 Previous.is(tok::comma) || Current.NestingLevel < 2) && in mustBreak()
431 if (Previous.is(TT_BinaryOperator) && Current.CanBreakBefore) { in mustBreak()
448 if ((!IsComparison || LHSIsBinaryExpr) && !Current.isTrailingComment() && in mustBreak()
452 } else if (Current.is(TT_BinaryOperator) && Current.CanBreakBefore && in mustBreak()
458 if (Current.is(tok::lessless) && Current.isNot(TT_OverloadedOperator) && in mustBreak()
463 if (Current.NestingLevel == 0 && !Current.isTrailingComment()) { in mustBreak()
471 if (Previous.is(TT_LeadingJavaAnnotation) && Current.isNot(tok::l_paren) && in mustBreak()
472 Current.isNot(TT_LeadingJavaAnnotation)) in mustBreak()
477 if ((Current.is(TT_FunctionDeclarationName) || in mustBreak()
478 (Current.is(tok::kw_operator) && !Previous.is(tok::coloncolon))) && in mustBreak()
486 Previous.is(tok::l_brace) && !Current.isOneOf(tok::r_brace, tok::comment)) in mustBreak()
489 if (Current.is(tok::lessless) && in mustBreak()
507 const FormatToken &Current = *State.NextToken; in addTokenToState() local
512 if ((Current.is(TT_ImplicitStringLiteral) && in addTokenToState()
513 (Current.Previous->Tok.getIdentifierInfo() == nullptr || in addTokenToState()
514 Current.Previous->Tok.getIdentifierInfo()->getPPKeywordID() == in addTokenToState()
517 SourceMgr.getSpellingColumnNumber(Current.WhitespaceRange.getEnd()); in addTokenToState()
518 if (Current.LastNewlineOffset != 0) { in addTokenToState()
524 SourceMgr.getSpellingColumnNumber(Current.WhitespaceRange.getBegin()); in addTokenToState()
543 FormatToken &Current = *State.NextToken; in addTokenOnCurrentLine() local
545 if (Current.is(tok::equal) && in addTokenOnCurrentLine()
546 (State.Line->First->is(tok::kw_for) || Current.NestingLevel == 0) && in addTokenOnCurrentLine()
561 unsigned Spaces = Current.SpacesRequiredBefore + ExtraSpaces; in addTokenOnCurrentLine()
580 Whitespaces.replaceWhitespace(Current, /*Newlines=*/0, Spaces, in addTokenOnCurrentLine()
586 Current.is(TT_InheritanceColon)) in addTokenOnCurrentLine()
592 if (Current.is(TT_SelectorName) && in addTokenOnCurrentLine()
597 unsigned FirstColonPos = State.Column + Spaces + Current.ColumnWidth; in addTokenOnCurrentLine()
598 if (Current.LongestObjCSelectorName == 0) in addTokenOnCurrentLine()
600 else if (MinIndent + Current.LongestObjCSelectorName > FirstColonPos) in addTokenOnCurrentLine()
601 State.Stack.back().ColonPos = MinIndent + Current.LongestObjCSelectorName; in addTokenOnCurrentLine()
621 Current.FakeLParens.size() > 0 && in addTokenOnCurrentLine()
622 Current.FakeLParens.back() > prec::Unknown) in addTokenOnCurrentLine()
629 (Current.isNot(TT_LineComment) || Previous.BlockKind == BK_BracedInit)) in addTokenOnCurrentLine()
631 if (State.Stack.back().AvoidBinPacking && startsNextParameter(Current, Style)) in addTokenOnCurrentLine()
633 if (startsSegmentOfBuilderTypeCall(Current) && in addTokenOnCurrentLine()
637 if (Current.is(TT_LambdaArrow) && Style.Language == FormatStyle::LK_Java) in addTokenOnCurrentLine()
639 if (Current.isMemberAccess() && Previous.is(tok::r_paren) && in addTokenOnCurrentLine()
654 const FormatToken *P = Current.getPreviousNonComment(); in addTokenOnCurrentLine()
655 if (!Current.is(tok::comment) && P && in addTokenOnCurrentLine()
678 if (Current.isNot(tok::comment) && Previous.is(tok::l_paren) && in addTokenOnCurrentLine()
686 } else if (!Current.isOneOf(tok::comment, tok::caret) && in addTokenOnCurrentLine()
701 Current.StartsBinaryExpression)) { in addTokenOnCurrentLine()
729 FormatToken &Current = *State.NextToken; in addTokenOnNewLine() local
736 const FormatToken *PreviousNonComment = Current.getPreviousNonComment(); in addTokenOnNewLine()
739 NextNonComment = &Current; in addTokenOnNewLine()
769 if (!Current.is(TT_LambdaArrow) && in addTokenOnNewLine()
771 Current.NestingLevel != 0 || !PreviousNonComment || in addTokenOnNewLine()
773 !Current.isOneOf(Keywords.kw_async, Keywords.kw_function))) in addTokenOnNewLine()
820 Current.NestingLevel == 0) in addTokenOnNewLine()
825 if (Current.is(TT_BinaryOperator) && Current.CanBreakBefore) in addTokenOnNewLine()
830 if (Current.is(tok::r_brace) && Current.MatchingParen && in addTokenOnNewLine()
833 !Current.MatchingParen->Children.empty()) { in addTokenOnNewLine()
840 1u, std::min(Current.NewlinesBefore, MaxEmptyLinesToKeep)); in addTokenOnNewLine()
843 Whitespaces.replaceWhitespace(Current, Newlines, State.Column, State.Column, in addTokenOnNewLine()
847 if (!Current.isTrailingComment()) in addTokenOnNewLine()
849 if (Current.is(tok::lessless)) in addTokenOnNewLine()
855 State.StartOfLineLevel = Current.NestingLevel; in addTokenOnNewLine()
856 State.LowestLevelOnLine = Current.NestingLevel; in addTokenOnNewLine()
861 !Style.isCpp() && Current.is(tok::r_brace) && State.Stack.size() > 1 && in addTokenOnNewLine()
870 Current.NestingLevel != 0) && in addTokenOnNewLine()
874 Current.isNot(TT_BinaryOperator) && !PreviousNonComment->opensScope()) in addTokenOnNewLine()
901 FormatToken &Current = *State.NextToken; in getNewLineColumn() local
902 const FormatToken &Previous = *Current.Previous; in getNewLineColumn()
907 const FormatToken *PreviousNonComment = Current.getPreviousNonComment(); in getNewLineColumn()
910 NextNonComment = &Current; in getNewLineColumn()
914 Current.isOneOf(Keywords.kw_implements, Keywords.kw_extends)) in getNewLineColumn()
919 return Current.NestingLevel == 0 ? State.FirstIndent in getNewLineColumn()
921 if ((Current.isOneOf(tok::r_brace, tok::r_square) || in getNewLineColumn()
922 (Current.is(tok::greater) && in getNewLineColumn()
926 if (Current.closesBlockOrBlockTypeList(Style)) in getNewLineColumn()
928 if (Current.MatchingParen && in getNewLineColumn()
929 Current.MatchingParen->BlockKind == BK_BracedInit) in getNewLineColumn()
943 if (Current.is(tok::r_paren) && State.Stack.size() > 1 && in getNewLineColumn()
944 (!Current.Next || Current.Next->isOneOf(tok::semi, tok::l_brace))) in getNewLineColumn()
948 if (Current.is(tok::identifier) && Current.Next && in getNewLineColumn()
949 (Current.Next->is(TT_DictLiteral) || in getNewLineColumn()
952 Current.Next->isOneOf(tok::less, tok::l_brace)))) in getNewLineColumn()
1039 if (Previous.is(tok::r_paren) && !Current.isBinaryOperator() && in getNewLineColumn()
1040 !Current.isOneOf(tok::colon, tok::comment)) in getNewLineColumn()
1042 if (Current.is(TT_ProtoExtensionLSquare)) in getNewLineColumn()
1055 const FormatToken &Current = *State.NextToken; in moveStateToNextToken() local
1057 if (Current.isOneOf(tok::comma, TT_BinaryOperator)) in moveStateToNextToken()
1059 if (Current.is(TT_InheritanceColon)) in moveStateToNextToken()
1061 if (Current.is(tok::lessless) && Current.isNot(TT_OverloadedOperator)) { in moveStateToNextToken()
1067 if (Current.is(TT_BinaryOperator) && Current.isNot(tok::lessless)) in moveStateToNextToken()
1069 if (Current.is(TT_ConditionalExpr) && Current.Previous && in moveStateToNextToken()
1070 !Current.Previous->is(TT_ConditionalExpr)) in moveStateToNextToken()
1072 if (Current.is(TT_ArraySubscriptLSquare) && in moveStateToNextToken()
1075 if (Style.BreakBeforeTernaryOperators && Current.is(tok::question)) in moveStateToNextToken()
1077 if (!Style.BreakBeforeTernaryOperators && Current.isNot(tok::colon)) { in moveStateToNextToken()
1078 const FormatToken *Previous = Current.Previous; in moveStateToNextToken()
1084 if (!Current.opensScope() && !Current.closesScope() && in moveStateToNextToken()
1085 !Current.is(TT_PointerOrReference)) in moveStateToNextToken()
1087 std::min(State.LowestLevelOnLine, Current.NestingLevel); in moveStateToNextToken()
1088 if (Current.isMemberAccess()) in moveStateToNextToken()
1090 !Current.NextOperator ? 0 : State.Column; in moveStateToNextToken()
1091 if (Current.is(TT_SelectorName)) in moveStateToNextToken()
1093 if (Current.is(TT_CtorInitializerColon) && in moveStateToNextToken()
1110 if (Current.is(TT_CtorInitializerColon) && in moveStateToNextToken()
1118 if (Current.is(TT_InheritanceColon)) in moveStateToNextToken()
1121 if (Current.isOneOf(TT_BinaryOperator, TT_ConditionalExpr) && Newline) in moveStateToNextToken()
1123 State.Column + Current.ColumnWidth + 1; in moveStateToNextToken()
1124 if (Current.isOneOf(TT_LambdaLSquare, TT_LambdaArrow)) in moveStateToNextToken()
1128 const FormatToken *Previous = Current.getPreviousNonComment(); in moveStateToNextToken()
1136 if (Current.isNot(tok::comment) && Previous && in moveStateToNextToken()
1161 if (Current.is(TT_ObjCStringLiteral) && State.StartOfStringLiteral == 0) in moveStateToNextToken()
1163 else if (Current.isStringLiteral() && State.StartOfStringLiteral == 0) in moveStateToNextToken()
1165 else if (!Current.isOneOf(tok::comment, tok::identifier, tok::hash) && in moveStateToNextToken()
1166 !Current.isStringLiteral()) in moveStateToNextToken()
1169 State.Column += Current.ColumnWidth; in moveStateToNextToken()
1173 handleEndOfLine(Current, State, DryRun, AllowBreak); in moveStateToNextToken()
1175 if (Current.Role) in moveStateToNextToken()
1176 Current.Role->formatFromToken(State, this, DryRun); in moveStateToNextToken()
1190 const FormatToken &Current = *State.NextToken; in moveStatePastFakeLParens() local
1191 const FormatToken *Previous = Current.getPreviousNonComment(); in moveStatePastFakeLParens()
1203 I = Current.FakeLParens.rbegin(), in moveStatePastFakeLParens()
1204 E = Current.FakeLParens.rend(); in moveStatePastFakeLParens()
1220 if (!Current.isTrailingComment() && in moveStatePastFakeLParens()
1225 *I != prec::Comma || Current.NestingLevel == 0)) in moveStatePastFakeLParens()
1238 if (*I != prec::Conditional && !Current.is(TT_UnaryOperator) && in moveStatePastFakeLParens()
1248 !Current.isTrailingComment())) in moveStatePastFakeLParens()
1271 const FormatToken &Current = *State.NextToken; in moveStatePastScopeOpener() local
1272 if (!Current.opensScope()) in moveStatePastScopeOpener()
1275 if (Current.MatchingParen && Current.BlockKind == BK_Block) { in moveStatePastScopeOpener()
1286 if (Current.isOneOf(tok::l_brace, TT_ArrayInitializerLSquare) || in moveStatePastScopeOpener()
1287 opensProtoMessageField(Current, Style)) { in moveStatePastScopeOpener()
1288 if (Current.opensBlockOrBlockTypeList(Style)) { in moveStatePastScopeOpener()
1294 const FormatToken *NextNoComment = Current.getNextNonComment(); in moveStatePastScopeOpener()
1295 bool EndsInComma = Current.MatchingParen && in moveStatePastScopeOpener()
1296 Current.MatchingParen->Previous && in moveStatePastScopeOpener()
1297 Current.MatchingParen->Previous->is(tok::comma); in moveStatePastScopeOpener()
1298 AvoidBinPacking = EndsInComma || Current.is(TT_DictLiteral) || in moveStatePastScopeOpener()
1306 if (Current.ParameterCount > 1) in moveStatePastScopeOpener()
1317 if (Current.is(tok::less) && Current.ParentBracket == tok::l_paren) { in moveStatePastScopeOpener()
1323 Current.MatchingParen && in moveStatePastScopeOpener()
1324 Current.MatchingParen->getPreviousNonComment() && in moveStatePastScopeOpener()
1325 Current.MatchingParen->getPreviousNonComment()->is(tok::comma); in moveStatePastScopeOpener()
1343 (Current.PackingKind == PPK_OnePerLine || in moveStatePastScopeOpener()
1345 Current.PackingKind == PPK_Inconclusive))); in moveStatePastScopeOpener()
1347 if (Current.is(TT_ObjCMethodExpr) && Current.MatchingParen) { in moveStatePastScopeOpener()
1351 if (getLengthToMatchingParen(Current, State.Stack) + State.Column > in moveStatePastScopeOpener()
1357 for (const FormatToken *Tok = &Current; in moveStatePastScopeOpener()
1358 Tok && Tok != Current.MatchingParen; Tok = Tok->Next) { in moveStatePastScopeOpener()
1375 Current.Children.empty() && in moveStatePastScopeOpener()
1376 !Current.isOneOf(TT_DictLiteral, TT_ArrayInitializerLSquare) && in moveStatePastScopeOpener()
1379 (Current.is(TT_TemplateOpener) && in moveStatePastScopeOpener()
1382 ParenState(&Current, NewIndent, LastSpace, AvoidBinPacking, NoLineBreak)); in moveStatePastScopeOpener()
1385 State.Stack.back().HasMultipleNestedBlocks = Current.BlockParameterCount > 1; in moveStatePastScopeOpener()
1387 Current.is(TT_ArrayInitializerLSquare) && Current.Previous && in moveStatePastScopeOpener()
1388 Current.Previous->is(tok::at); in moveStatePastScopeOpener()
1392 const FormatToken &Current = *State.NextToken; in moveStatePastScopeCloser() local
1393 if (!Current.closesScope()) in moveStatePastScopeCloser()
1399 (Current.isOneOf(tok::r_paren, tok::r_square, TT_TemplateString) || in moveStatePastScopeCloser()
1400 (Current.is(tok::r_brace) && State.NextToken != State.Line->First) || in moveStatePastScopeCloser()
1402 (Current.is(tok::greater) && Current.is(TT_DictLiteral)))) in moveStatePastScopeCloser()
1415 if (State.Stack.back().BreakBeforeParameter && Current.MatchingParen && in moveStatePastScopeCloser()
1416 Current.MatchingParen->Previous) { in moveStatePastScopeCloser()
1417 const FormatToken &CurrentScopeOpener = *Current.MatchingParen->Previous; in moveStatePastScopeCloser()
1422 CurrentScopeOpener.TotalLength - Current.TotalLength - 1; in moveStatePastScopeCloser()
1423 if (State.Column + Current.ColumnWidth + NecessarySpaceInLine <= in moveStatePastScopeCloser()
1429 if (Current.is(tok::r_square)) { in moveStatePastScopeCloser()
1431 const FormatToken *NextNonComment = Current.getNextNonComment(); in moveStatePastScopeCloser()
1466 const FormatToken &Current, LineState &State, in reformatRawStringLiteral() argument
1468 unsigned StartColumn = State.Column - Current.ColumnWidth; in reformatRawStringLiteral()
1469 StringRef OldDelimiter = *getRawStringDelimiter(Current.TokenText); in reformatRawStringLiteral()
1481 Current.TokenText.substr(OldPrefixSize).drop_back(OldSuffixSize); in reformatRawStringLiteral()
1505 bool ContentStartsOnNewline = Current.TokenText[OldPrefixSize] == '\n'; in reformatRawStringLiteral()
1519 unsigned CurrentIndent = (Current.Next && Current.Next->is(tok::r_paren)) in reformatRawStringLiteral()
1534 unsigned LastStartColumn = Current.NewlinesBefore in reformatRawStringLiteral()
1546 return addMultilineToken(Current, State); in reformatRawStringLiteral()
1553 Current.Tok.getLocation().getLocWithOffset(2); in reformatRawStringLiteral()
1564 Current.Tok.getLocation().getLocWithOffset(Current.TokenText.size() - in reformatRawStringLiteral()
1575 Current.Tok.getLocation().getLocWithOffset(OldPrefixSize); in reformatRawStringLiteral()
1605 unsigned ContinuationIndenter::addMultilineToken(const FormatToken &Current, in addMultilineToken() argument
1614 State.Column = Current.LastLineColumnWidth; in addMultilineToken()
1621 unsigned ContinuationIndenter::handleEndOfLine(const FormatToken &Current, in handleEndOfLine() argument
1627 auto RawStringStyle = getRawStringStyle(Current, State); in handleEndOfLine()
1628 if (RawStringStyle && !Current.Finalized) { in handleEndOfLine()
1629 Penalty = reformatRawStringLiteral(Current, State, *RawStringStyle, DryRun); in handleEndOfLine()
1630 } else if (Current.IsMultiline && Current.isNot(TT_BlockComment)) { in handleEndOfLine()
1633 Penalty = addMultilineToken(Current, State); in handleEndOfLine()
1645 Current, State, AllowBreak, /*DryRun=*/true, Strict); in handleEndOfLine()
1651 breakProtrudingToken(Current, StrictState, AllowBreak, in handleEndOfLine()
1663 breakProtrudingToken(Current, OriginalState, AllowBreak, /*DryRun=*/false, in handleEndOfLine()
1676 static StringRef getEnclosingFunctionName(const FormatToken &Current) { in getEnclosingFunctionName() argument
1678 auto Tok = Current.getPreviousNonComment(); in getEnclosingFunctionName()
1695 ContinuationIndenter::getRawStringStyle(const FormatToken &Current, in getRawStringStyle() argument
1697 if (!Current.isStringLiteral()) in getRawStringStyle()
1699 auto Delimiter = getRawStringDelimiter(Current.TokenText); in getRawStringStyle()
1705 getEnclosingFunctionName(Current)); in getRawStringStyle()
1713 const FormatToken &Current, LineState &State, bool AllowBreak) { in createBreakableToken() argument
1714 unsigned StartColumn = State.Column - Current.ColumnWidth; in createBreakableToken()
1715 if (Current.isStringLiteral()) { in createBreakableToken()
1733 if (Current.IsUnterminatedLiteral) in createBreakableToken()
1741 StringRef Text = Current.TokenText; in createBreakableToken()
1760 : Current.UnbreakableTailLength; in createBreakableToken()
1762 Current, StartColumn, Prefix, Postfix, UnbreakableTailLength, in createBreakableToken()
1765 } else if (Current.is(TT_BlockComment)) { in createBreakableToken()
1770 switchesFormatting(Current)) { in createBreakableToken()
1774 Current, StartColumn, Current.OriginalColumn, !Current.Previous, in createBreakableToken()
1776 } else if (Current.is(TT_LineComment) && in createBreakableToken()
1777 (Current.Previous == nullptr || in createBreakableToken()
1778 Current.Previous->isNot(TT_ImplicitStringLiteral))) { in createBreakableToken()
1780 CommentPragmasRegex.match(Current.TokenText.substr(2)) || in createBreakableToken()
1781 switchesFormatting(Current)) in createBreakableToken()
1784 Current, StartColumn, Current.OriginalColumn, !Current.Previous, in createBreakableToken()
1791 ContinuationIndenter::breakProtrudingToken(const FormatToken &Current, in breakProtrudingToken() argument
1795 createBreakableToken(Current, State, AllowBreak); in breakProtrudingToken()
1800 if (Current.is(TT_LineComment)) { in breakProtrudingToken()
1804 if (Current.UnbreakableTailLength >= ColumnLimit) in breakProtrudingToken()
1808 unsigned StartColumn = State.Column - Current.ColumnWidth; in breakProtrudingToken()
1809 unsigned NewBreakPenalty = Current.isStringLiteral() in breakProtrudingToken()
2142 Current.UnbreakableTailLength; in breakProtrudingToken()
2148 if (Current.isNot(TT_LineComment)) { in breakProtrudingToken()
2153 if (Current.is(TT_BlockComment)) in breakProtrudingToken()
2170 const FormatToken &Current = *State.NextToken; in nextIsMultilineString() local
2171 if (!Current.isStringLiteral() || Current.is(TT_ImplicitStringLiteral)) in nextIsMultilineString()
2176 if (Current.TokenText.startswith("R\"")) in nextIsMultilineString()
2178 if (Current.IsMultiline) in nextIsMultilineString()
2180 if (Current.getNextNonComment() && in nextIsMultilineString()
2181 Current.getNextNonComment()->isStringLiteral()) in nextIsMultilineString()
2184 State.Column + Current.ColumnWidth + Current.UnbreakableTailLength > in nextIsMultilineString()