ank added inline comments.

================
Comment at: unittests/Format/FormatTest.cpp:4359
+               "    return 3;\n"
+               "  }).as("");\n"
+               "}");
----------------
klimek wrote:
> ank wrote:
> > klimek wrote:
> > > What would be interesting is tests that:
> > > a) have another value after the closing }; doesn't really make sense in 
> > > this test, but usually these are in calls
> > > f([]() { ... }, foo, bar).call(...)
> > > 
> > > b) make .as("") have paramters that go beyond the limit
> > > 
> > > c) add another chained call behind .as(""). 
> > Hello, sorry for the late follow up on this! 
> > 
> > Indeed an interesting thing to test, and so I did, the patterns you 
> > describe seems to give strange indentation as far back as release_36 and 
> > probably has always done so. The case I'm testing here worked in release_40 
> > but stopped working somewhere before release_50
> > 
> > maybe fixing those other cases can be done in another patch
> > 
> > cheers,
> > Anders
> I meant: please add these tests :)
I need to clarify, those tests will not be correctly indented by this commit, I 
could add those tests but then they would verify a faulty behaviour, this is 
how they will be indented even with this patch applied:


```
    // Dont break if only closing statements before member call
    verifyFormat("test() {\n"
                 "  ([]() -> {\n"
                 "    int b = 32;\n"
                 "    return 3;\n"
                 "  }).foo();\n"
                 "}");
    verifyFormat("test() {\n"
                 "  (\n"
                 "      []() -> {\n"
                 "        int b = 32;\n"
                 "        return 3;\n"
                 "      },\n"
                 "      foo, bar)\n"
                 "      .foo();\n"
                 "}");
    verifyFormat("test() {\n"
                 "  ([]() -> {\n"
                 "    int b = 32;\n"
                 "    return 3;\n"
                 "  })\n"
                 "      .foo()\n"
                 "      .bar();\n"
                 "}");
    verifyFormat("test() {\n"
                 "  ([]() -> {\n"
                 "    int b = 32;\n"
                 "    return 3;\n"
                 "  })\n"
                 "      
.foo(\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n"
                 "           \"bbbbbbbbbbbbbbbbbbbbbb\");\n"
                 "}");

    verifyFormat("test() {\n"
                 "  foo([]() -> {\n"
                 "    int b = 32;\n"
                 "    return 3;\n"
                 "  }).foo();\n"
                 "}");
    verifyFormat("test() {\n"
                 "  foo(\n"
                 "      []() -> {\n"
                 "        int b = 32;\n"
                 "        return 3;\n"
                 "      },\n"
                 "      foo, bar)\n"
                 "      .as();\n"
                 "}");
    verifyFormat("test() {\n"
                 "  foo([]() -> {\n"
                 "    int b = 32;\n"
                 "    return 3;\n"
                 "  })\n"
                 "      .foo()\n"
                 "      .bar();\n"
                 "}");
    verifyFormat("test() {\n"
                 "  foo([]() -> {\n"
                 "    int b = 32;\n"
                 "    return 3;\n"
                 "  })\n"
                 "      
.as(\"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\"\n"
                 "          \"bbbbbbbbbbbbbbbbbbbbbb\");\n"
                 "}");
```


Repository:
  rC Clang

https://reviews.llvm.org/D45719



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

Reply via email to