@@ -123,16 +123,15 @@ ArrayRef<FormatToken *> FormatTokenLexer::lex() {
123
123
if (Style.isJavaScript ()) {
124
124
tryParseJSRegexLiteral ();
125
125
handleTemplateStrings ();
126
- }
127
- if (Style.isTextProto ())
126
+ } else if (Style.isTextProto ()) {
128
127
tryParsePythonComment ();
128
+ }
129
129
tryMergePreviousTokens ();
130
130
if (Style.isCSharp ()) {
131
131
// This needs to come after tokens have been merged so that C#
132
132
// string literals are correctly identified.
133
133
handleCSharpVerbatimAndInterpolatedStrings ();
134
- }
135
- if (Style.isTableGen ()) {
134
+ } else if (Style.isTableGen ()) {
136
135
handleTableGenMultilineString ();
137
136
handleTableGenNumericLikeIdentifier ();
138
137
}
@@ -190,23 +189,23 @@ void FormatTokenLexer::tryMergePreviousTokens() {
190
189
}
191
190
if (tryMergeNullishCoalescingEqual ())
192
191
return ;
193
- }
194
-
195
- if (Style.isCSharp ()) {
196
- static const tok::TokenKind CSharpNullConditionalLSquare[] = {
197
- tok::question, tok::l_square};
198
192
199
- if (tryMergeCSharpKeywordVariables ())
200
- return ;
201
- if (tryMergeCSharpStringLiteral ())
202
- return ;
203
- if (tryTransformCSharpForEach ())
204
- return ;
205
- if (tryMergeTokens (CSharpNullConditionalLSquare,
206
- TT_CSharpNullConditionalLSquare)) {
207
- // Treat like a regular "[" operator.
208
- Tokens.back ()->Tok .setKind (tok::l_square);
209
- return ;
193
+ if (Style.isCSharp ()) {
194
+ static const tok::TokenKind CSharpNullConditionalLSquare[] = {
195
+ tok::question, tok::l_square};
196
+
197
+ if (tryMergeCSharpKeywordVariables ())
198
+ return ;
199
+ if (tryMergeCSharpStringLiteral ())
200
+ return ;
201
+ if (tryTransformCSharpForEach ())
202
+ return ;
203
+ if (tryMergeTokens (CSharpNullConditionalLSquare,
204
+ TT_CSharpNullConditionalLSquare)) {
205
+ // Treat like a regular "[" operator.
206
+ Tokens.back ()->Tok .setKind (tok::l_square);
207
+ return ;
208
+ }
210
209
}
211
210
}
212
211
@@ -246,16 +245,12 @@ void FormatTokenLexer::tryMergePreviousTokens() {
246
245
}
247
246
if (tryMergeJSPrivateIdentifier ())
248
247
return ;
249
- }
250
-
251
- if (Style.isJava ()) {
248
+ } else if (Style.isJava ()) {
252
249
static const tok::TokenKind JavaRightLogicalShiftAssign[] = {
253
250
tok::greater, tok::greater, tok::greaterequal};
254
251
if (tryMergeTokens (JavaRightLogicalShiftAssign, TT_BinaryOperator))
255
252
return ;
256
- }
257
-
258
- if (Style.isVerilog ()) {
253
+ } else if (Style.isVerilog ()) {
259
254
// Merge the number following a base like `'h?a0`.
260
255
if (Tokens.size () >= 3 && Tokens.end ()[-3 ]->is (TT_VerilogNumberBase) &&
261
256
Tokens.end ()[-2 ]->is (tok::numeric_constant) &&
@@ -327,8 +322,7 @@ void FormatTokenLexer::tryMergePreviousTokens() {
327
322
Tokens.back ()->ForcedPrecedence = prec::Comma;
328
323
return ;
329
324
}
330
- }
331
- if (Style.isTableGen ()) {
325
+ } else if (Style.isTableGen ()) {
332
326
// TableGen's Multi line string starts with [{
333
327
if (tryMergeTokens ({tok::l_square, tok::l_brace},
334
328
TT_TableGenMultiLineString)) {
@@ -843,10 +837,7 @@ void FormatTokenLexer::handleCSharpVerbatimAndInterpolatedStrings() {
843
837
844
838
const char *StrBegin = Lex->getBufferLocation () - TokenText.size ();
845
839
const char *Offset = StrBegin;
846
- if (Verbatim && Interpolated)
847
- Offset += 3 ;
848
- else
849
- Offset += 2 ;
840
+ Offset += Verbatim && Interpolated ? 3 : 2 ;
850
841
851
842
const auto End = Lex->getBuffer ().end ();
852
843
Offset = lexCSharpString (Offset, End, Verbatim, Interpolated);
@@ -1377,13 +1368,9 @@ FormatToken *FormatTokenLexer::getNextToken() {
1377
1368
} else if (Style.isTableGen () && !Keywords.isTableGenKeyword (*FormatTok)) {
1378
1369
FormatTok->Tok .setKind (tok::identifier);
1379
1370
}
1380
- } else if (FormatTok->is (tok::greatergreater)) {
1381
- FormatTok->Tok .setKind (tok::greater);
1382
- FormatTok->TokenText = FormatTok->TokenText .substr (0 , 1 );
1383
- ++Column;
1384
- StateStack.push (LexerState::TOKEN_STASHED);
1385
- } else if (FormatTok->is (tok::lessless)) {
1386
- FormatTok->Tok .setKind (tok::less);
1371
+ } else if (const bool Greater = FormatTok->is (tok::greatergreater);
1372
+ Greater || FormatTok->is (tok::lessless)) {
1373
+ FormatTok->Tok .setKind (Greater ? tok::greater : tok::less);
1387
1374
FormatTok->TokenText = FormatTok->TokenText .substr (0 , 1 );
1388
1375
++Column;
1389
1376
StateStack.push (LexerState::TOKEN_STASHED);
0 commit comments