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