diff options
author | Martin Probst <martin@probst.io> | 2017-07-07 13:17:10 +0000 |
---|---|---|
committer | Martin Probst <martin@probst.io> | 2017-07-07 13:17:10 +0000 |
commit | b04e36d3093397805545b80a7e5285688a1a3e33 (patch) | |
tree | 5a59e5ffaf4c931b463aed5329bce4c9dc34a942 /lib/Format | |
parent | a5e65877526e030c5488a30cedb5fb743c42ad7d (diff) |
clang-format: [JS] do not wrap after "readonly".
Summary:
Breaks after "readonly" trigger automatic semicolon insertion in field
declarations.
Reviewers: krasimir, djasper
Subscribers: klimek
Differential Revision: https://reviews.llvm.org/D35112
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@307394 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Format')
-rw-r--r-- | lib/Format/FormatToken.h | 6 | ||||
-rw-r--r-- | lib/Format/TokenAnnotator.cpp | 11 |
2 files changed, 10 insertions, 7 deletions
diff --git a/lib/Format/FormatToken.h b/lib/Format/FormatToken.h index 00a0abd64b..a60361a8e5 100644 --- a/lib/Format/FormatToken.h +++ b/lib/Format/FormatToken.h @@ -641,6 +641,7 @@ struct AdditionalKeywords { kw_is = &IdentTable.get("is"); kw_let = &IdentTable.get("let"); kw_module = &IdentTable.get("module"); + kw_readonly = &IdentTable.get("readonly"); kw_set = &IdentTable.get("set"); kw_type = &IdentTable.get("type"); kw_var = &IdentTable.get("var"); @@ -678,8 +679,8 @@ struct AdditionalKeywords { // already initialized. JsExtraKeywords = std::unordered_set<IdentifierInfo *>( {kw_as, kw_async, kw_await, kw_declare, kw_finally, kw_from, - kw_function, kw_get, kw_import, kw_is, kw_let, kw_module, kw_set, - kw_type, kw_var, kw_yield, + kw_function, kw_get, kw_import, kw_is, kw_let, kw_module, kw_readonly, + kw_set, kw_type, kw_var, kw_yield, // Keywords from the Java section. kw_abstract, kw_extends, kw_implements, kw_instanceof, kw_interface}); } @@ -710,6 +711,7 @@ struct AdditionalKeywords { IdentifierInfo *kw_is; IdentifierInfo *kw_let; IdentifierInfo *kw_module; + IdentifierInfo *kw_readonly; IdentifierInfo *kw_set; IdentifierInfo *kw_type; IdentifierInfo *kw_var; diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index d0d30bcb42..b4d20a7bd6 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -2629,11 +2629,12 @@ bool TokenAnnotator::canBreakBefore(const AnnotatedLine &Line, } else if (Style.Language == FormatStyle::LK_JavaScript) { const FormatToken *NonComment = Right.getPreviousNonComment(); if (NonComment && - NonComment->isOneOf( - tok::kw_return, tok::kw_continue, tok::kw_break, tok::kw_throw, - Keywords.kw_interface, Keywords.kw_type, tok::kw_static, - tok::kw_public, tok::kw_private, tok::kw_protected, - Keywords.kw_abstract, Keywords.kw_get, Keywords.kw_set)) + NonComment->isOneOf(tok::kw_return, tok::kw_continue, tok::kw_break, + tok::kw_throw, Keywords.kw_interface, + Keywords.kw_type, tok::kw_static, tok::kw_public, + tok::kw_private, tok::kw_protected, + Keywords.kw_readonly, Keywords.kw_abstract, + Keywords.kw_get, Keywords.kw_set)) return false; // Otherwise automatic semicolon insertion would trigger. if (Left.is(TT_JsFatArrow) && Right.is(tok::l_brace)) return false; |