[clang-format] Handle template closer followed by braces (#110971)
Fixes #110968. (cherry picked from commit e5b05a51b8151cc7788bbdea4d491e5ccfceedea)
This commit is contained in:
parent
16c2aae4f6
commit
96839b6f16
@ -2131,6 +2131,11 @@ void UnwrappedLineParser::parseStructuralElement(
|
||||
return;
|
||||
}
|
||||
break;
|
||||
case tok::greater:
|
||||
nextToken();
|
||||
if (FormatTok->is(tok::l_brace))
|
||||
FormatTok->Previous->setFinalizedType(TT_TemplateCloser);
|
||||
break;
|
||||
default:
|
||||
nextToken();
|
||||
break;
|
||||
|
@ -3399,6 +3399,11 @@ TEST_F(TokenAnnotatorTest, TemplateInstantiation) {
|
||||
ASSERT_EQ(Tokens.size(), 11u) << Tokens;
|
||||
EXPECT_TOKEN(Tokens[2], tok::less, TT_TemplateOpener);
|
||||
EXPECT_TOKEN(Tokens[6], tok::greater, TT_TemplateCloser);
|
||||
|
||||
Tokens = annotate("return std::conditional_t<T::value == U::value, T, U>{};");
|
||||
ASSERT_EQ(Tokens.size(), 21u) << Tokens;
|
||||
EXPECT_TOKEN(Tokens[4], tok::less, TT_TemplateOpener);
|
||||
EXPECT_TOKEN(Tokens[16], tok::greater, TT_TemplateCloser);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
Loading…
x
Reference in New Issue
Block a user