@@ -2179,7 +2179,8 @@ class ParensRemover : public TokenAnalyzer {
21792179 tooling::Replacements &Result) {
21802180 const auto &SourceMgr = Env.getSourceManager ();
21812181 for (auto *Line : Lines) {
2182- removeParens (Line->Children , Result);
2182+ if (!Line->Children .empty ())
2183+ removeParens (Line->Children , Result);
21832184 if (!Line->Affected )
21842185 continue ;
21852186 for (const auto *Token = Line->First ; Token && !Token->Finalized ;
@@ -2224,7 +2225,8 @@ class BracesInserter : public TokenAnalyzer {
22242225 const auto &SourceMgr = Env.getSourceManager ();
22252226 int OpeningBraceSurplus = 0 ;
22262227 for (AnnotatedLine *Line : Lines) {
2227- insertBraces (Line->Children , Result);
2228+ if (!Line->Children .empty ())
2229+ insertBraces (Line->Children , Result);
22282230 if (!Line->Affected && OpeningBraceSurplus == 0 )
22292231 continue ;
22302232 for (FormatToken *Token = Line->First ; Token && !Token->Finalized ;
@@ -2275,20 +2277,21 @@ class BracesRemover : public TokenAnalyzer {
22752277 void removeBraces (SmallVectorImpl<AnnotatedLine *> &Lines,
22762278 tooling::Replacements &Result) {
22772279 const auto &SourceMgr = Env.getSourceManager ();
2278- const auto End = Lines.end ();
2279- for (auto I = Lines.begin (); I != End; ++I) {
2280- const auto Line = *I;
2281- removeBraces (Line->Children , Result);
2280+ const auto *End = Lines.end ();
2281+ for (const auto *I = Lines.begin (); I != End; ++I) {
2282+ const auto &Line = *I;
2283+ if (!Line->Children .empty ())
2284+ removeBraces (Line->Children , Result);
22822285 if (!Line->Affected )
22832286 continue ;
2284- const auto NextLine = I + 1 == End ? nullptr : I[1 ];
2285- for (auto Token = Line->First ; Token && !Token->Finalized ;
2287+ const auto * NextLine = I + 1 == End ? nullptr : I[1 ];
2288+ for (const auto * Token = Line->First ; Token && !Token->Finalized ;
22862289 Token = Token->Next ) {
22872290 if (!Token->Optional )
22882291 continue ;
22892292 if (!Token->isOneOf (tok::l_brace, tok::r_brace))
22902293 continue ;
2291- auto Next = Token->Next ;
2294+ auto * Next = Token->Next ;
22922295 assert (Next || Token == Line->Last );
22932296 if (!Next && NextLine)
22942297 Next = NextLine->First ;
@@ -2299,7 +2302,7 @@ class BracesRemover : public TokenAnalyzer {
22992302 } else {
23002303 Start = Token->WhitespaceRange .getBegin ();
23012304 }
2302- const auto Range =
2305+ const auto & Range =
23032306 CharSourceRange::getCharRange (Start, Token->Tok .getEndLoc ());
23042307 cantFail (Result.add (tooling::Replacement (SourceMgr, Range, " " )));
23052308 }
@@ -2334,21 +2337,22 @@ class SemiRemover : public TokenAnalyzer {
23342337 return LBrace && LBrace->is (TT_FunctionLBrace);
23352338 };
23362339 const auto &SourceMgr = Env.getSourceManager ();
2337- const auto End = Lines.end ();
2338- for (auto I = Lines.begin (); I != End; ++I) {
2339- const auto Line = *I;
2340- removeSemi (Annotator, Line->Children , Result);
2340+ const auto *End = Lines.end ();
2341+ for (const auto *I = Lines.begin (); I != End; ++I) {
2342+ const auto &Line = *I;
2343+ if (!Line->Children .empty ())
2344+ removeSemi (Annotator, Line->Children , Result);
23412345 if (!Line->Affected )
23422346 continue ;
23432347 Annotator.calculateFormattingInformation (*Line);
2344- const auto NextLine = I + 1 == End ? nullptr : I[1 ];
2345- for (auto Token = Line->First ; Token && !Token->Finalized ;
2348+ const auto * NextLine = I + 1 == End ? nullptr : I[1 ];
2349+ for (const auto * Token = Line->First ; Token && !Token->Finalized ;
23462350 Token = Token->Next ) {
23472351 if (Token->isNot (tok::semi) ||
23482352 (!Token->Optional && !PrecededByFunctionRBrace (*Token))) {
23492353 continue ;
23502354 }
2351- auto Next = Token->Next ;
2355+ auto * Next = Token->Next ;
23522356 assert (Next || Token == Line->Last );
23532357 if (!Next && NextLine)
23542358 Next = NextLine->First ;
@@ -2359,7 +2363,7 @@ class SemiRemover : public TokenAnalyzer {
23592363 } else {
23602364 Start = Token->WhitespaceRange .getBegin ();
23612365 }
2362- const auto Range =
2366+ const auto & Range =
23632367 CharSourceRange::getCharRange (Start, Token->Tok .getEndLoc ());
23642368 cantFail (Result.add (tooling::Replacement (SourceMgr, Range, " " )));
23652369 }
0 commit comments