[PATCH] D29634: clang-format: [JS] exclaim preceding regex literals.
Martin Probst via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Feb 7 06:19:33 PST 2017
This revision was automatically updated to reflect the committed changes.
Closed by commit rL294304: clang-format: [JS] exclaim preceding regex literals. (authored by mprobst).
Changed prior to commit:
https://reviews.llvm.org/D29634?vs=87402&id=87417#toc
Repository:
rL LLVM
https://reviews.llvm.org/D29634
Files:
cfe/trunk/lib/Format/FormatTokenLexer.cpp
cfe/trunk/unittests/Format/FormatTestJS.cpp
Index: cfe/trunk/lib/Format/FormatTokenLexer.cpp
===================================================================
--- cfe/trunk/lib/Format/FormatTokenLexer.cpp
+++ cfe/trunk/lib/Format/FormatTokenLexer.cpp
@@ -157,7 +157,9 @@
// postfix unary operators. If the '++' is followed by a non-operand
// introducing token, the slash here is the operand and not the start of a
// regex.
- if (Prev->isOneOf(tok::plusplus, tok::minusminus))
+ // `!` is an unary prefix operator, but also a post-fix operator that casts
+ // away nullability, so the same check applies.
+ if (Prev->isOneOf(tok::plusplus, tok::minusminus, tok::exclaim))
return (Tokens.size() < 3 || precedesOperand(Tokens[Tokens.size() - 3]));
// The previous token must introduce an operand location where regex
Index: cfe/trunk/unittests/Format/FormatTestJS.cpp
===================================================================
--- cfe/trunk/unittests/Format/FormatTestJS.cpp
+++ cfe/trunk/unittests/Format/FormatTestJS.cpp
@@ -941,6 +941,7 @@
verifyFormat("var x = a ? /abc/ : /abc/;");
verifyFormat("for (var i = 0; /abc/.test(s[i]); i++) {\n}");
verifyFormat("var x = !/abc/.test(y);");
+ verifyFormat("var x = foo()! / 10;");
verifyFormat("var x = a && /abc/.test(y);");
verifyFormat("var x = a || /abc/.test(y);");
verifyFormat("var x = a + /abc/.search(y);");
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D29634.87417.patch
Type: text/x-patch
Size: 1373 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170207/333e57a7/attachment-0001.bin>
More information about the cfe-commits
mailing list