diff options
author | Daniel Jasper <djasper@google.com> | 2013-08-27 14:24:43 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2013-08-27 14:24:43 +0000 |
commit | 4c6e00595b444b958bf11a68cceed9d43dbacbc4 (patch) | |
tree | 170afc94af26e9920953fc9377badec9e75d4db5 /clang/lib/Format/ContinuationIndenter.h | |
parent | 5320c2b563d9b6e40c24753325d448d3be6d14b6 (diff) | |
download | bcm5719-llvm-4c6e00595b444b958bf11a68cceed9d43dbacbc4.tar.gz bcm5719-llvm-4c6e00595b444b958bf11a68cceed9d43dbacbc4.zip |
clang-format: Format segments of builder-type calls one per line.
This fixes llvm.org/PR14818.
Before:
return llvm::StringSwitch<Reference::Kind>(name)
.StartsWith(".eh_frame_hdr", ORDER_EH_FRAMEHDR)
.StartsWith(".eh_frame", ORDER_EH_FRAME)
.StartsWith(".init", ORDER_INIT).StartsWith(".fini", ORDER_FINI)
.StartsWith(".hash", ORDER_HASH).Default(ORDER_TEXT);
After:
return llvm::StringSwitch<Reference::Kind>(name)
.StartsWith(".eh_frame_hdr", ORDER_EH_FRAMEHDR)
.StartsWith(".eh_frame", ORDER_EH_FRAME)
.StartsWith(".init", ORDER_INIT)
.StartsWith(".fini", ORDER_FINI)
.StartsWith(".hash", ORDER_HASH)
.Default(ORDER_TEXT);
llvm-svn: 189353
Diffstat (limited to 'clang/lib/Format/ContinuationIndenter.h')
-rw-r--r-- | clang/lib/Format/ContinuationIndenter.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/clang/lib/Format/ContinuationIndenter.h b/clang/lib/Format/ContinuationIndenter.h index e234c3e7efd..81d14ad0a22 100644 --- a/clang/lib/Format/ContinuationIndenter.h +++ b/clang/lib/Format/ContinuationIndenter.h @@ -108,7 +108,8 @@ struct ParenState { AvoidBinPacking(AvoidBinPacking), BreakBeforeParameter(false), NoLineBreak(NoLineBreak), ColonPos(0), StartOfFunctionCall(0), StartOfArraySubscripts(0), NestedNameSpecifierContinuation(0), - CallContinuation(0), VariablePos(0), ContainsLineBreak(false) {} + CallContinuation(0), VariablePos(0), ContainsLineBreak(false), + ContainsUnwrappedBuilder(0) {} /// \brief The position to which a specific parenthesis level needs to be /// indented. @@ -178,6 +179,10 @@ struct ParenState { /// parenthesis. bool ContainsLineBreak; + /// \brief \c true if this \c ParenState contains multiple segments of a + /// builder-type call on one line. + bool ContainsUnwrappedBuilder; + bool operator<(const ParenState &Other) const { if (Indent != Other.Indent) return Indent < Other.Indent; @@ -207,6 +212,8 @@ struct ParenState { return VariablePos < Other.VariablePos; if (ContainsLineBreak != Other.ContainsLineBreak) return ContainsLineBreak < Other.ContainsLineBreak; + if (ContainsUnwrappedBuilder != Other.ContainsUnwrappedBuilder) + return ContainsUnwrappedBuilder < Other.ContainsUnwrappedBuilder; return false; } }; |