forked from OSchip/llvm-project
clang-format: [Java] Treat 'instanceof' like other binary operators.
This fixes llvm.org/PR21436. llvm-svn: 222641
This commit is contained in:
parent
a0143fab5e
commit
325e486f9b
|
@ -532,6 +532,7 @@ struct AdditionalKeywords {
|
|||
kw_extends = &IdentTable.get("extends");
|
||||
kw_final = &IdentTable.get("final");
|
||||
kw_implements = &IdentTable.get("implements");
|
||||
kw_instanceof = &IdentTable.get("instanceof");
|
||||
kw_interface = &IdentTable.get("interface");
|
||||
kw_synchronized = &IdentTable.get("synchronized");
|
||||
kw_throws = &IdentTable.get("throws");
|
||||
|
@ -557,6 +558,7 @@ struct AdditionalKeywords {
|
|||
IdentifierInfo *kw_extends;
|
||||
IdentifierInfo *kw_final;
|
||||
IdentifierInfo *kw_implements;
|
||||
IdentifierInfo *kw_instanceof;
|
||||
IdentifierInfo *kw_interface;
|
||||
IdentifierInfo *kw_synchronized;
|
||||
IdentifierInfo *kw_throws;
|
||||
|
|
|
@ -795,8 +795,10 @@ private:
|
|||
// Line.MightBeFunctionDecl can only be true after the parentheses of a
|
||||
// function declaration have been found. In this case, 'Current' is a
|
||||
// trailing token of this declaration and thus cannot be a name.
|
||||
if (isStartOfName(Current) &&
|
||||
(!Line.MightBeFunctionDecl || Current.NestingLevel != 0)) {
|
||||
if (Current.is(Keywords.kw_instanceof)) {
|
||||
Current.Type = TT_BinaryOperator;
|
||||
} else if (isStartOfName(Current) &&
|
||||
(!Line.MightBeFunctionDecl || Current.NestingLevel != 0)) {
|
||||
Contexts.back().FirstStartOfName = &Current;
|
||||
Current.Type = TT_StartOfName;
|
||||
} else if (Current.is(tok::kw_auto)) {
|
||||
|
|
|
@ -54,6 +54,17 @@ TEST_F(FormatTestJava, NoAlternativeOperatorNames) {
|
|||
verifyFormat("someObject.and();");
|
||||
}
|
||||
|
||||
TEST_F(FormatTestJava, FormatsInstanceOfLikeOperators) {
|
||||
FormatStyle Style = getStyleWithColumns(50);
|
||||
verifyFormat("return aaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n"
|
||||
" instanceof bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;",
|
||||
Style);
|
||||
Style.BreakBeforeBinaryOperators = FormatStyle::BOS_None;
|
||||
verifyFormat("return aaaaaaaaaaaaaaaaaaaaaaaaaaaaa instanceof\n"
|
||||
" bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb;",
|
||||
Style);
|
||||
}
|
||||
|
||||
TEST_F(FormatTestJava, ClassDeclarations) {
|
||||
verifyFormat("public class SomeClass {\n"
|
||||
" private int a;\n"
|
||||
|
|
Loading…
Reference in New Issue