r302893 - clang-format: [JS] support non-null assertions after all identifiers.
Martin Probst via cfe-commits
cfe-commits at lists.llvm.org
Fri May 12 06:00:34 PDT 2017
Author: mprobst
Date: Fri May 12 08:00:33 2017
New Revision: 302893
URL: http://llvm.org/viewvc/llvm-project?rev=302893&view=rev
Log:
clang-format: [JS] support non-null assertions after all identifiers.
Summary:
Previously:
x = namespace !;
Now:
x = namespace!;
Reviewers: djasper
Subscribers: klimek
Differential Revision: https://reviews.llvm.org/D33113
Modified:
cfe/trunk/lib/Format/TokenAnnotator.cpp
cfe/trunk/unittests/Format/FormatTestJS.cpp
Modified: cfe/trunk/lib/Format/TokenAnnotator.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/TokenAnnotator.cpp?rev=302893&r1=302892&r2=302893&view=diff
==============================================================================
--- cfe/trunk/lib/Format/TokenAnnotator.cpp (original)
+++ cfe/trunk/lib/Format/TokenAnnotator.cpp Fri May 12 08:00:33 2017
@@ -1034,7 +1034,8 @@ private:
if (Style.Language == FormatStyle::LK_JavaScript) {
if (Current.is(tok::exclaim)) {
if (Current.Previous &&
- (Current.Previous->isOneOf(tok::identifier, tok::r_paren,
+ (Current.Previous->Tok.getIdentifierInfo() ||
+ Current.Previous->isOneOf(tok::identifier, tok::r_paren,
tok::r_square, tok::r_brace) ||
Current.Previous->Tok.isLiteral())) {
Current.Type = TT_JsNonNullAssertion;
Modified: cfe/trunk/unittests/Format/FormatTestJS.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTestJS.cpp?rev=302893&r1=302892&r2=302893&view=diff
==============================================================================
--- cfe/trunk/unittests/Format/FormatTestJS.cpp (original)
+++ cfe/trunk/unittests/Format/FormatTestJS.cpp Fri May 12 08:00:33 2017
@@ -1799,6 +1799,7 @@ TEST_F(FormatTestJS, NonNullAssertionOpe
" .foo()!\n"
" .foo()!;\n",
getGoogleJSStyleWithColumns(20));
+ verifyFormat("let x = namespace!;\n");
}
TEST_F(FormatTestJS, Conditional) {
More information about the cfe-commits
mailing list