Improve indentation after breaking at nested name specifiers.
These always represent a continuation and we should increase the ident.
Before:
aaaaaaaaa(aaaaaaaaaaaaaaaaaaaaa::
aaaaaaaaaaaaaaaaaaaa);
After:
aaaaaaaaa(aaaaaaaaaaaaaaaaaaaaa::
aaaaaaaaaaaaaaaaaaaa);
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173675 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp
index bae1bbb..99b2d54 100644
--- a/lib/Format/Format.cpp
+++ b/lib/Format/Format.cpp
@@ -550,9 +550,10 @@
State.Stack[ParenLevel].FirstLessLess != 0) {
State.Column = State.Stack[ParenLevel].FirstLessLess;
} else if (ParenLevel != 0 &&
- (Previous.is(tok::equal) || Current.is(tok::arrow) ||
- Current.is(tok::period) || Previous.is(tok::question) ||
- Previous.Type == TT_ConditionalExpr)) {
+ (Previous.is(tok::equal) || Previous.is(tok::coloncolon) ||
+ Previous.is(tok::question) ||
+ Previous.Type == TT_ConditionalExpr ||
+ Current.is(tok::period) || Current.is(tok::arrow))) {
// Indent and extra 4 spaces after if we know the current expression is
// continued. Don't do that on the top level, as we already indent 4
// there.
diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp
index d877dc2..e47c7a5 100644
--- a/unittests/Format/FormatTest.cpp
+++ b/unittests/Format/FormatTest.cpp
@@ -1252,7 +1252,7 @@
// "bbbbb..." here instead of what we are doing now.
verifyFormat(
"aaaaaaaaaaaaaaa(bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb::\n"
- " cccccccccccccccccccccccccccccccccccccccccccccccccc());");
+ " cccccccccccccccccccccccccccccccccccccccccccccc());");
// Breaking at nested name specifiers is generally not desirable.
verifyFormat(