]> granicus.if.org Git - clang/commitdiff
clang-format: [Java] Fix incorrect recognition of annonymous classes.
authorDaniel Jasper <djasper@google.com>
Sun, 4 Jan 2015 20:40:51 +0000 (20:40 +0000)
committerDaniel Jasper <djasper@google.com>
Sun, 4 Jan 2015 20:40:51 +0000 (20:40 +0000)
Before:
  someFunction(new Runnable() { public void run() { System.out.println(42);
  }
  });

After:
  someFunction(new Runnable() {
    public void run() {
      System.out.println(42);
    }
  });

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

lib/Format/UnwrappedLineParser.cpp
unittests/Format/FormatTestJava.cpp

index 6ff5405a1b4393aa8ad1a545fbb6012f93f992de..02d49a0e1e25ea20df6dafdb44924a4417fb2b3d 100644 (file)
@@ -1033,6 +1033,8 @@ void UnwrappedLineParser::parseParens() {
     switch (FormatTok->Tok.getKind()) {
     case tok::l_paren:
       parseParens();
+      if (Style.Language == FormatStyle::LK_Java && FormatTok->is(tok::l_brace))
+        parseChildBlock();
       break;
     case tok::r_paren:
       nextToken();
@@ -1043,12 +1045,11 @@ void UnwrappedLineParser::parseParens() {
     case tok::l_square:
       tryToParseLambda();
       break;
-    case tok::l_brace: {
+    case tok::l_brace:
       if (!tryToParseBracedList()) {
         parseChildBlock();
       }
       break;
-    }
     case tok::at:
       nextToken();
       if (FormatTok->Tok.is(tok::l_brace))
index b4f67afd9b44770bce1f1ef9cee4236e1130a1fb..e27e462ae768649dfb6d22bcb12a6351b01e8820 100644 (file)
@@ -387,6 +387,11 @@ TEST_F(FormatTestJava, FormatsInnerBlocks) {
                "    System.out.println(42);\n"
                "  }\n"
                "}, someOtherParameter);");
+  verifyFormat("someFunction(new Runnable() {\n"
+               "  public void run() {\n"
+               "    System.out.println(42);\n"
+               "  }\n"
+               "});");
   verifyFormat("someObject.someFunction(\n"
                "    new Runnable() {\n"
                "      @Override\n"