diff options
Diffstat (limited to 'clang/lib/Format/TokenAnnotator.cpp')
-rw-r--r-- | clang/lib/Format/TokenAnnotator.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index bce1d64166f..48ce19e1323 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -1439,6 +1439,18 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line, if (Left.is(tok::semi)) return 0; + + if (Style.Language == FormatStyle::LK_Java) { + if (Left.Type == TT_LeadingJavaAnnotation) + return 1; + if (Right.is(Keywords.kw_extends)) + return 1; + if (Right.is(Keywords.kw_implements)) + return 2; + if (Left.is(tok::comma) && Left.NestingLevel == 0) + return 3; + } + if (Left.is(tok::comma) || (Right.is(tok::identifier) && Right.Next && Right.Next->Type == TT_DictLiteral)) return 1; @@ -1448,6 +1460,7 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line, if (Right.Type != TT_ObjCMethodExpr && Right.Type != TT_LambdaLSquare) return 500; } + if (Right.Type == TT_StartOfName || Right.Type == TT_FunctionDeclarationName || Right.is(tok::kw_operator)) { if (Line.First->is(tok::kw_for) && Right.PartOfMultiVariableDeclStmt) @@ -1472,12 +1485,6 @@ unsigned TokenAnnotator::splitPenalty(const AnnotatedLine &Line, Left.Type == TT_InheritanceColon) return 2; - if (Left.Type == TT_LeadingJavaAnnotation) - return 1; - if (Style.Language == FormatStyle::LK_Java && - Right.is(Keywords.kw_implements)) - return 2; - if (Right.isMemberAccess()) { if (Left.is(tok::r_paren) && Left.MatchingParen && Left.MatchingParen->ParameterCount > 0) |