forked from OSchip/llvm-project
clang-format: Support definitions/declarations of operator,.
Before: bool operator, (); After: bool operator,(); llvm-svn: 257256
This commit is contained in:
parent
b9a4990a9c
commit
804a276fcf
|
@ -383,7 +383,8 @@ void ContinuationIndenter::addTokenOnCurrentLine(LineState &State, bool DryRun,
|
|||
State.Stack.back().LastSpace = State.Column;
|
||||
State.Stack.back().NestedBlockIndent = State.Column;
|
||||
} else if (!Current.isOneOf(tok::comment, tok::caret) &&
|
||||
(Previous.is(tok::comma) ||
|
||||
((Previous.is(tok::comma) &&
|
||||
!Previous.is(TT_OverloadedOperator)) ||
|
||||
(Previous.is(tok::colon) && Previous.is(TT_ObjCMethodExpr)))) {
|
||||
State.Stack.back().LastSpace = State.Column;
|
||||
} else if ((Previous.isOneOf(TT_BinaryOperator, TT_ConditionalExpr,
|
||||
|
|
|
@ -580,7 +580,8 @@ private:
|
|||
if (CurrentToken->isOneOf(tok::star, tok::amp))
|
||||
CurrentToken->Type = TT_PointerOrReference;
|
||||
consumeToken();
|
||||
if (CurrentToken && CurrentToken->Previous->is(TT_BinaryOperator))
|
||||
if (CurrentToken &&
|
||||
CurrentToken->Previous->isOneOf(TT_BinaryOperator, tok::comma))
|
||||
CurrentToken->Previous->Type = TT_OverloadedOperator;
|
||||
}
|
||||
if (CurrentToken) {
|
||||
|
@ -2070,14 +2071,14 @@ bool TokenAnnotator::spaceRequiredBefore(const AnnotatedLine &Line,
|
|||
if (Right.isOneOf(TT_TrailingReturnArrow, TT_LambdaArrow) ||
|
||||
Left.isOneOf(TT_TrailingReturnArrow, TT_LambdaArrow))
|
||||
return true;
|
||||
if (Right.is(TT_OverloadedOperatorLParen))
|
||||
return Style.SpaceBeforeParens == FormatStyle::SBPO_Always;
|
||||
if (Left.is(tok::comma))
|
||||
return true;
|
||||
if (Right.is(tok::comma))
|
||||
return false;
|
||||
if (Right.isOneOf(TT_CtorInitializerColon, TT_ObjCBlockLParen))
|
||||
return true;
|
||||
if (Right.is(TT_OverloadedOperatorLParen))
|
||||
return Style.SpaceBeforeParens == FormatStyle::SBPO_Always;
|
||||
if (Right.is(tok::colon)) {
|
||||
if (Line.First->isOneOf(tok::kw_case, tok::kw_default) ||
|
||||
!Right.getNextNonComment() || Right.getNextNonComment()->is(tok::semi))
|
||||
|
|
|
@ -5458,6 +5458,7 @@ TEST_F(FormatTest, UnderstandsOverloadedOperators) {
|
|||
verifyFormat("bool operator!=();");
|
||||
verifyFormat("int operator+();");
|
||||
verifyFormat("int operator++();");
|
||||
verifyFormat("bool operator,();");
|
||||
verifyFormat("bool operator();");
|
||||
verifyFormat("bool operator()();");
|
||||
verifyFormat("bool operator[]();");
|
||||
|
@ -5473,6 +5474,8 @@ TEST_F(FormatTest, UnderstandsOverloadedOperators) {
|
|||
verifyFormat("void operator delete[](void *ptr);");
|
||||
verifyFormat("template <typename AAAAAAA, typename BBBBBBB>\n"
|
||||
"AAAAAAA operator/(const AAAAAAA &a, BBBBBBB &b);");
|
||||
verifyFormat("aaaaaaaaaaaaaaaaaaaaaa operator,(\n"
|
||||
" aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa) const;");
|
||||
|
||||
verifyFormat(
|
||||
"ostream &operator<<(ostream &OutputStream,\n"
|
||||
|
|
Loading…
Reference in New Issue