diff options
author | Daniel Jasper <djasper@google.com> | 2013-04-11 08:48:20 +0000 |
---|---|---|
committer | Daniel Jasper <djasper@google.com> | 2013-04-11 08:48:20 +0000 |
commit | 2eb23b73f001e475c604652732f1a156f252352d (patch) | |
tree | 47faef3a096be78f91ef00348418bc9b749e73fc | |
parent | 4de561f470be0cffeff5a92a286e9d6bf9bd8cff (diff) |
Fix formatting of overloaded assignment operators.
Before: SomeType &operator=(const SomeType & S);
After: SomeType &operator=(const SomeType &S);
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179270 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Format/TokenAnnotator.cpp | 3 | ||||
-rw-r--r-- | unittests/Format/FormatTest.cpp | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 42cbf04aec..08d9b10694 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -563,7 +563,8 @@ private: }; void determineTokenType(AnnotatedToken &Current) { - if (getPrecedence(Current) == prec::Assignment) { + if (getPrecedence(Current) == prec::Assignment && + (!Current.Parent || Current.Parent->isNot(tok::kw_operator))) { Contexts.back().IsExpression = true; for (AnnotatedToken *Previous = Current.Parent; Previous && Previous->isNot(tok::comma); diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index 5b5f483c62..09fbce830e 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -2374,6 +2374,7 @@ TEST_F(FormatTest, UndestandsOverloadedOperators) { " const aaaaaaaaaaaaaaaaaaaaa &right) {\n" " return left.group < right.group;\n" "}"); + verifyFormat("SomeType &operator=(const SomeType &S);"); verifyGoogleFormat("operator void*();"); verifyGoogleFormat("operator SomeType<SomeType<int>>();"); |