r176953 - Fix comment indentation before labels.

Manuel Klimek klimek at google.com
Wed Mar 13 09:04:05 PDT 2013


On Wed, Mar 13, 2013 at 8:53 AM, Daniel Jasper <djasper at google.com> wrote:

> Author: djasper
> Date: Wed Mar 13 10:53:12 2013
> New Revision: 176953
>
> URL: http://llvm.org/viewvc/llvm-project?rev=176953&view=rev
> Log:
> Fix comment indentation before labels.
>
> Before:
> switch (x) {
>   // if 1, do f()
> case 1:
>   f();
> }
>
> After:
> switch (x) {
> // if 1, do f()
> case 1:
>   f();
> }
>
> Modified:
>     cfe/trunk/lib/Format/Format.cpp
>     cfe/trunk/unittests/Format/FormatTest.cpp
>
> Modified: cfe/trunk/lib/Format/Format.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=176953&r1=176952&r2=176953&view=diff
>
> ==============================================================================
> --- cfe/trunk/lib/Format/Format.cpp (original)
> +++ cfe/trunk/lib/Format/Format.cpp Wed Mar 13 10:53:12 2013
> @@ -1135,6 +1135,13 @@ public:
>      deriveLocalStyle();
>      for (unsigned i = 0, e = AnnotatedLines.size(); i != e; ++i) {
>        Annotator.calculateFormattingInformation(AnnotatedLines[i]);
> +
> +      // Adapt level to the next line if this is a comment.
> +      // FIXME: Can/should this be done in the UnwrappedLineParser?
>

My gut feeling is: yes.


> +      if (i + 1 != e && AnnotatedLines[i].First.is(tok::comment) &&
> +          AnnotatedLines[i].First.Children.empty() &&
> +          AnnotatedLines[i + 1].First.isNot(tok::r_brace))
> +        AnnotatedLines[i].Level = AnnotatedLines[i + 1].Level;
>      }
>      std::vector<int> IndentForLevel;
>      bool PreviousLineWasTouched = false;
>
> Modified: cfe/trunk/unittests/Format/FormatTest.cpp
> URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=176953&r1=176952&r2=176953&view=diff
>
> ==============================================================================
> --- cfe/trunk/unittests/Format/FormatTest.cpp (original)
> +++ cfe/trunk/unittests/Format/FormatTest.cpp Wed Mar 13 10:53:12 2013
> @@ -427,6 +427,11 @@ TEST_F(FormatTest, FormatsSwitchStatemen
>                 "default: {\n"
>                 "  // Do nothing.\n"
>                 "}");
> +  verifyFormat("switch (x) {\n"
> +               "// if 1, do f()\n"
> +               "case 1:\n"
> +               "  f();\n"
> +               "}");
>
>    verifyGoogleFormat("switch (x) {\n"
>                       "  case 1:\n"
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130313/f83e2ef9/attachment.html>


More information about the cfe-commits mailing list