]> granicus.if.org Git - clang/commitdiff
clang-format: Fix range-based for-loop formatting.
authorDaniel Jasper <djasper@google.com>
Fri, 7 Feb 2014 10:09:46 +0000 (10:09 +0000)
committerDaniel Jasper <djasper@google.com>
Fri, 7 Feb 2014 10:09:46 +0000 (10:09 +0000)
Before:
  for (aaaaaaaaa aaaaaaaaaaaaaaaaaaaaa : aaaaaaaaaaaa.aaaaaaaaaaaa()
           .aaaaaaaaa()
           .a()) {
  }

After:
  for (aaaaaaaaa aaaaaaaaaaaaaaaaaaaaa :
       aaaaaaaaaaaa.aaaaaaaaaaaa().aaaaaaaaa().a()) {
  }

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@200968 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/TokenAnnotator.cpp
unittests/Format/FormatTest.cpp

index 92c467a40f923e9d14fde215791a97fa5620e43f..6891930ead30eb8c5ecafdb76335ac1b1e48e45b 100644 (file)
@@ -986,6 +986,8 @@ private:
       else if (Current->is(tok::semi) || Current->Type == TT_InlineASMColon ||
                Current->Type == TT_ObjCSelectorName)
         return 0;
+      else if (Current->Type == TT_RangeBasedForLoopColon)
+        return prec::Comma;
       else if (Current->Type == TT_BinaryOperator || Current->is(tok::comma))
         return Current->getPrecedence();
       else if (Current->isOneOf(tok::period, tok::arrow))
index 0f112a13f19196003bf018fac329555c9860f60e..c49faaa0b9b482a9d448491bd6001a9c9db2a2b9 100644 (file)
@@ -416,6 +416,8 @@ TEST_F(FormatTest, RangeBasedForLoops) {
                "     aaaaaaaaaaaaaaaaa(aaaaaaaaaaaaaaaa, aaaaaaaaaaaaa)) {\n}");
   verifyFormat("for (const aaaaaaaaaaaaaaaaaaaaa &aaaaaaaaa :\n"
                "     aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) {\n}");
+  verifyFormat("for (aaaaaaaaa aaaaaaaaaaaaaaaaaaaaa :\n"
+               "     aaaaaaaaaaaa.aaaaaaaaaaaa().aaaaaaaaa().a()) {\n}");
 }
 
 TEST_F(FormatTest, FormatsWhileLoop) {