From: Daniel Jasper Date: Mon, 7 Jan 2013 07:13:20 +0000 (+0000) Subject: Put a higher penalty on breaking before "." or "->". X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=46a46a20a3ec397192550915964cb227e87b79b2;p=clang Put a higher penalty on breaking before "." or "->". This fixes llvm.org/PR14823. Before: local_state->SetString(prefs::kApplicationLocale, parent_local_state ->GetString(prefs::kApplicationLocale)); After: local_state->SetString( prefs::kApplicationLocale, parent_local_state->GetString(prefs::kApplicationLocale)); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@171705 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index 4d401a5be9..c6ff880186 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -99,7 +99,7 @@ public: Annotations(Annotations), Replaces(Replaces), StructuralError(StructuralError) { Parameters.PenaltyIndentLevel = 15; - Parameters.PenaltyLevelDecrease = 10; + Parameters.PenaltyLevelDecrease = 30; } /// \brief Formats an \c UnwrappedLine. @@ -369,7 +369,7 @@ private: return Level; if (Right.Tok.is(tok::arrow) || Right.Tok.is(tok::period)) - return 50; + return 150; return 3; } diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 28f63aa055..de794dabb6 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -713,9 +713,14 @@ TEST_F(FormatTest, WrapsAtFunctionCallsIfNecessary) { "function(LoooooooooooooooooooooooooooooooooooongObject\n" " ->loooooooooooooooooooooooooooooooooooooooongFunction());"); + // Here, it is not necessary to wrap at "." or "->". verifyFormat("if (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa(aaaaaaaaaaaa) ||\n" " aaaa.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) {\n" "}"); + verifyFormat( + "aaaaaaaaaaa->aaaaaaaaa(\n" + " aaaaaaaaaaaaaaaaaaaaaaaaa,\n" + " aaaaaaaaaaaaaaaaaa->aaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaa));\n"); } TEST_F(FormatTest, WrapsTemplateDeclarations) {