krasimir added inline comments.

================
Comment at: lib/Format/BreakableToken.cpp:471
+                                               WhitespaceManager &Whitespaces) 
{
+  if (Tok.is(TT_LineComment)) {
+    // If this is the first line of a token, inform Whitespace Manager about 
it.
----------------
klimek wrote:
> Without looking into this in a lot of detail: this looks like you want a 
> BreakableComment base class, and have BreakableBlockComment and 
> BreakableLineCommentSection derive from it and implement this method.
> 
> Scanning it a bit, it seems like there is still overlap - perhaps it's also 
> possible to pull out a couple of smaller sized methods in the interface and 
> write the algorithm in terms of those? That could also make it easier to 
> understand in general (large method alarm ;)
Next step I'm doing: will extract two subclasses and try to factor out the 
common functionality. I already did a bit of that with getReflowSplit, but 
there's more potential for extracting common stuff.


================
Comment at: lib/Format/ContinuationIndenter.cpp:1174-1175
        LineIndex != EndIndex; ++LineIndex) {
-    if (!DryRun)
-      Token->replaceWhitespaceBefore(LineIndex, Whitespaces);
+    Token->replaceWhitespaceBefore(LineIndex, RemainingTokenColumns,
+                                   RemainingSpace, DryRun, Whitespaces);
     unsigned TailOffset = 0;
----------------
klimek wrote:
> Nice that this whole section required so few changes.
> Why do we need to call into this in DryRun mode now, though? Does it need to 
> keep state inside in DryRun?
Yes, replaceWhitespaceBefore recomputes the ContentColumn in case a reflow with 
the previous line is decided to be made.
Basically, the whole reflow functionality is inside replaceWhitespaceBefore now 
(except for a bit of control flow stuff, like updating the  ReflowInProgress 
member variable).


https://reviews.llvm.org/D27754



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to