|
@@ -545,18 +545,15 @@ void BreakableBlockComment::insertBreak(unsigned LineIndex, unsigned TailOffset,
|
|
|
}
|
|
|
|
|
|
BreakableToken::Split BreakableBlockComment::getSplitBefore(
|
|
|
- unsigned LineIndex, unsigned PreviousEndColumn, unsigned ColumnLimit,
|
|
|
+ unsigned LineIndex,
|
|
|
+ unsigned PreviousEndColumn,
|
|
|
+ unsigned ColumnLimit,
|
|
|
llvm::Regex &CommentPragmasRegex) const {
|
|
|
if (!mayReflow(LineIndex, CommentPragmasRegex))
|
|
|
return Split(StringRef::npos, 0);
|
|
|
StringRef TrimmedContent = Content[LineIndex].ltrim(Blanks);
|
|
|
- Split Result = getReflowSplit(TrimmedContent, ReflowPrefix, PreviousEndColumn,
|
|
|
- ColumnLimit);
|
|
|
- // Result is relative to TrimmedContent. Adapt it relative to
|
|
|
- // Content[LineIndex].
|
|
|
- if (Result.first != StringRef::npos)
|
|
|
- Result.first += Content[LineIndex].size() - TrimmedContent.size();
|
|
|
- return Result;
|
|
|
+ return getReflowSplit(TrimmedContent, ReflowPrefix, PreviousEndColumn,
|
|
|
+ ColumnLimit);
|
|
|
}
|
|
|
|
|
|
unsigned BreakableBlockComment::getReflownColumn(
|
|
@@ -636,12 +633,17 @@ void BreakableBlockComment::replaceWhitespaceBefore(
|
|
|
/*CurrentPrefix=*/ReflowPrefix, InPPDirective, /*Newlines=*/0,
|
|
|
/*Spaces=*/0);
|
|
|
// Check if we need to also insert a break at the whitespace range.
|
|
|
+ // For this we first adapt the reflow split relative to the beginning of the
|
|
|
+ // content.
|
|
|
// Note that we don't need a penalty for this break, since it doesn't change
|
|
|
// the total number of lines.
|
|
|
+ Split BreakSplit = SplitBefore;
|
|
|
+ BreakSplit.first += TrimmedContent.data() - Content[LineIndex].data();
|
|
|
unsigned ReflownColumn =
|
|
|
getReflownColumn(TrimmedContent, LineIndex, PreviousEndColumn);
|
|
|
- if (ReflownColumn > ColumnLimit)
|
|
|
- insertBreak(LineIndex, 0, SplitBefore, Whitespaces);
|
|
|
+ if (ReflownColumn > ColumnLimit) {
|
|
|
+ insertBreak(LineIndex, 0, BreakSplit, Whitespaces);
|
|
|
+ }
|
|
|
return;
|
|
|
}
|
|
|
|