[PATCH] Store first and last newline position in the token text for string literals and comments.
Manuel Klimek
klimek at google.com
Fri Aug 30 06:08:05 PDT 2013
================
Comment at: lib/Format/ContinuationIndenter.cpp:596
@@ -599,2 +595,3 @@
+ StringRef FirstLine = Current.TokenText.substr(0, Current.FirstNewlineInText);
unsigned ColumnsUsed =
----------------
Daniel Jasper wrote:
> We never use FirstNewlineInText or LastNewlineInText for anything other than getting the substring and then calculating the CodePointCount. Getting the CodePointCount again is a linear operation that we do repeatedly while finding the best layout. How about precomputing the CodePointCount for both values instead.
+1, I also find it more intuitive to have the first and last-line length in the token.
================
Comment at: lib/Format/ContinuationIndenter.cpp:599
@@ -603,2 +598,3 @@
+ StartColumn + encoding::getCodePointCount(FirstLine, Encoding);
if (ColumnsUsed > getColumnLimit())
return Style.PenaltyExcessCharacter * (ColumnsUsed - getColumnLimit());
----------------
While we're at it - don't we want to take the excess characters of the middle lines into account? Otherwise, won't we introduce indent levels that push the middle lines over the limit without noticing?
http://llvm-reviews.chandlerc.com/D1556
More information about the cfe-commits
mailing list