@@ -128,11 +128,13 @@ const tooling::Replacements &WhitespaceManager::generateReplacements() {
128
128
void WhitespaceManager::calculateLineBreakInformation () {
129
129
Changes[0 ].PreviousEndOfTokenColumn = 0 ;
130
130
Change *LastOutsideTokenChange = &Changes[0 ];
131
- for (unsigned i = 1 , e = Changes.size (); i != e; ++i) {
131
+ for (unsigned I = 1 , e = Changes.size (); I != e; ++I) {
132
+ auto &C = Changes[I];
133
+ auto &P = Changes[I - 1 ];
132
134
SourceLocation OriginalWhitespaceStart =
133
- Changes[i] .OriginalWhitespaceRange .getBegin ();
135
+ C .OriginalWhitespaceRange .getBegin ();
134
136
SourceLocation PreviousOriginalWhitespaceEnd =
135
- Changes[i - 1 ] .OriginalWhitespaceRange .getEnd ();
137
+ P .OriginalWhitespaceRange .getEnd ();
136
138
unsigned OriginalWhitespaceStartOffset =
137
139
SourceMgr.getFileOffset (OriginalWhitespaceStart);
138
140
unsigned PreviousOriginalWhitespaceEndOffset =
@@ -167,31 +169,26 @@ void WhitespaceManager::calculateLineBreakInformation() {
167
169
// line of the token.
168
170
auto NewlinePos = Text.find_first_of (' \n ' );
169
171
if (NewlinePos == StringRef::npos) {
170
- Changes[i - 1 ].TokenLength = OriginalWhitespaceStartOffset -
171
- PreviousOriginalWhitespaceEndOffset +
172
- Changes[i].PreviousLinePostfix .size () +
173
- Changes[i - 1 ].CurrentLinePrefix .size ();
172
+ P.TokenLength = OriginalWhitespaceStartOffset -
173
+ PreviousOriginalWhitespaceEndOffset +
174
+ C.PreviousLinePostfix .size () + P.CurrentLinePrefix .size ();
174
175
} else {
175
- Changes[i - 1 ].TokenLength =
176
- NewlinePos + Changes[i - 1 ].CurrentLinePrefix .size ();
176
+ P.TokenLength = NewlinePos + P.CurrentLinePrefix .size ();
177
177
}
178
178
179
179
// If there are multiple changes in this token, sum up all the changes until
180
180
// the end of the line.
181
- if (Changes[i - 1 ].IsInsideToken && Changes[i - 1 ].NewlinesBefore == 0 ) {
182
- LastOutsideTokenChange->TokenLength +=
183
- Changes[i - 1 ].TokenLength + Changes[i - 1 ].Spaces ;
184
- } else {
185
- LastOutsideTokenChange = &Changes[i - 1 ];
186
- }
181
+ if (P.IsInsideToken && P.NewlinesBefore == 0 )
182
+ LastOutsideTokenChange->TokenLength += P.TokenLength + P.Spaces ;
183
+ else
184
+ LastOutsideTokenChange = &P;
187
185
188
- Changes[i].PreviousEndOfTokenColumn =
189
- Changes[i - 1 ].StartOfTokenColumn + Changes[i - 1 ].TokenLength ;
186
+ C.PreviousEndOfTokenColumn = P.StartOfTokenColumn + P.TokenLength ;
190
187
191
- Changes[i - 1 ] .IsTrailingComment =
192
- (Changes[i] .NewlinesBefore > 0 || Changes[i] .Tok ->is (tok::eof) ||
193
- (Changes[i] .IsInsideToken && Changes[i] .Tok ->is (tok::comment))) &&
194
- Changes[i - 1 ] .Tok ->is (tok::comment) &&
188
+ P .IsTrailingComment =
189
+ (C .NewlinesBefore > 0 || C .Tok ->is (tok::eof) ||
190
+ (C .IsInsideToken && C .Tok ->is (tok::comment))) &&
191
+ P .Tok ->is (tok::comment) &&
195
192
// FIXME: This is a dirty hack. The problem is that
196
193
// BreakableLineCommentSection does comment reflow changes and here is
197
194
// the aligning of trailing comments. Consider the case where we reflow
0 commit comments