aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Format/FormatTokenLexer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Format/FormatTokenLexer.cpp')
-rw-r--r--clang/lib/Format/FormatTokenLexer.cpp33
1 files changed, 16 insertions, 17 deletions
diff --git a/clang/lib/Format/FormatTokenLexer.cpp b/clang/lib/Format/FormatTokenLexer.cpp
index 4d43796dd70e..e4e32e2671df 100644
--- a/clang/lib/Format/FormatTokenLexer.cpp
+++ b/clang/lib/Format/FormatTokenLexer.cpp
@@ -253,7 +253,8 @@ void FormatTokenLexer::tryMergePreviousTokens() {
TT_BinaryOperator)) {
return;
}
- // Module paths in specify blocks and implications in properties.
+ // Module paths in specify blocks and the implication and boolean equality
+ // operators.
if (tryMergeTokensAny({{tok::plusequal, tok::greater},
{tok::plus, tok::star, tok::greater},
{tok::minusequal, tok::greater},
@@ -265,7 +266,8 @@ void FormatTokenLexer::tryMergePreviousTokens() {
{tok::pipe, tok::arrow},
{tok::hash, tok::minus, tok::hash},
{tok::hash, tok::equal, tok::hash}},
- TT_BinaryOperator)) {
+ TT_BinaryOperator) ||
+ Tokens.back()->is(tok::arrow)) {
Tokens.back()->ForcedPrecedence = prec::Comma;
return;
}
@@ -277,7 +279,7 @@ bool FormatTokenLexer::tryMergeNSStringLiteral() {
return false;
auto &At = *(Tokens.end() - 2);
auto &String = *(Tokens.end() - 1);
- if (!At->is(tok::at) || !String->is(tok::string_literal))
+ if (At->isNot(tok::at) || String->isNot(tok::string_literal))
return false;
At->Tok.setKind(tok::string_literal);
At->TokenText = StringRef(At->TokenText.begin(),
@@ -295,7 +297,7 @@ bool FormatTokenLexer::tryMergeJSPrivateIdentifier() {
return false;
auto &Hash = *(Tokens.end() - 2);
auto &Identifier = *(Tokens.end() - 1);
- if (!Hash->is(tok::hash) || !Identifier->is(tok::identifier))
+ if (Hash->isNot(tok::hash) || Identifier->isNot(tok::identifier))
return false;
Hash->Tok.setKind(tok::identifier);
Hash->TokenText =
@@ -360,7 +362,7 @@ bool FormatTokenLexer::tryMergeNullishCoalescingEqual() {
auto &NullishCoalescing = *(Tokens.end() - 2);
auto &Equal = *(Tokens.end() - 1);
if (NullishCoalescing->getType() != TT_NullCoalescingOperator ||
- !Equal->is(tok::equal)) {
+ Equal->isNot(tok::equal)) {
return false;
}
NullishCoalescing->Tok.setKind(tok::equal); // no '??=' in clang tokens.
@@ -399,7 +401,7 @@ bool FormatTokenLexer::tryTransformCSharpForEach() {
if (Tokens.size() < 1)
return false;
auto &Identifier = *(Tokens.end() - 1);
- if (!Identifier->is(tok::identifier))
+ if (Identifier->isNot(tok::identifier))
return false;
if (Identifier->TokenText != "foreach")
return false;
@@ -414,9 +416,9 @@ bool FormatTokenLexer::tryMergeForEach() {
return false;
auto &For = *(Tokens.end() - 2);
auto &Each = *(Tokens.end() - 1);
- if (!For->is(tok::kw_for))
+ if (For->isNot(tok::kw_for))
return false;
- if (!Each->is(tok::identifier))
+ if (Each->isNot(tok::identifier))
return false;
if (Each->TokenText != "each")
return false;
@@ -435,7 +437,7 @@ bool FormatTokenLexer::tryTransformTryUsageForC() {
if (Tokens.size() < 2)
return false;
auto &Try = *(Tokens.end() - 2);
- if (!Try->is(tok::kw_try))
+ if (Try->isNot(tok::kw_try))
return false;
auto &Next = *(Tokens.end() - 1);
if (Next->isOneOf(tok::l_brace, tok::colon, tok::hash, tok::comment))
@@ -511,7 +513,7 @@ bool FormatTokenLexer::tryMergeTokens(ArrayRef<tok::TokenKind> Kinds,
SmallVectorImpl<FormatToken *>::const_iterator First =
Tokens.end() - Kinds.size();
for (unsigned i = 0; i < Kinds.size(); ++i)
- if (!First[i]->is(Kinds[i]))
+ if (First[i]->isNot(Kinds[i]))
return false;
return tryMergeTokens(Kinds.size(), NewType);
@@ -852,14 +854,14 @@ bool FormatTokenLexer::tryMerge_TMacro() {
if (Tokens.size() < 4)
return false;
FormatToken *Last = Tokens.back();
- if (!Last->is(tok::r_paren))
+ if (Last->isNot(tok::r_paren))
return false;
FormatToken *String = Tokens[Tokens.size() - 2];
- if (!String->is(tok::string_literal) || String->IsMultiline)
+ if (String->isNot(tok::string_literal) || String->IsMultiline)
return false;
- if (!Tokens[Tokens.size() - 3]->is(tok::l_paren))
+ if (Tokens[Tokens.size() - 3]->isNot(tok::l_paren))
return false;
FormatToken *Macro = Tokens[Tokens.size() - 4];
@@ -1311,11 +1313,8 @@ void FormatTokenLexer::readRawToken(FormatToken &Tok) {
}
}
- if ((Style.isJavaScript() || Style.Language == FormatStyle::LK_Proto ||
- Style.Language == FormatStyle::LK_TextProto) &&
- Tok.is(tok::char_constant)) {
+ if ((Style.isJavaScript() || Style.isProto()) && Tok.is(tok::char_constant))
Tok.Tok.setKind(tok::string_literal);
- }
if (Tok.is(tok::comment) && isClangFormatOn(Tok.TokenText))
FormattingDisabled = false;