clang-format: [JS] Fix regex literal detection.

Before:
  var regex = /= / ;

After:
  var regex = /=/;

llvm-svn: 236811
This commit is contained in:
Daniel Jasper 2015-05-08 07:55:13 +00:00
parent 8eb9d1bf12
commit 69694b0691
2 changed files with 2 additions and 1 deletions

View File

@ -752,7 +752,7 @@ private:
unsigned LastColumn = Tokens.back()->OriginalColumn;
for (auto I = Tokens.rbegin() + 1, E = Tokens.rend(); I != E; ++I) {
++TokenCount;
if (I[0]->is(tok::slash) && I + 1 != E &&
if (I[0]->isOneOf(tok::slash, tok::slashequal) && I + 1 != E &&
(I[1]->isOneOf(tok::l_paren, tok::semi, tok::l_brace, tok::r_brace,
tok::exclaim, tok::l_square, tok::colon, tok::comma,
tok::question, tok::kw_return) ||

View File

@ -463,6 +463,7 @@ TEST_F(FormatTestJS, RegexLiteralClassification) {
}
TEST_F(FormatTestJS, RegexLiteralSpecialCharacters) {
verifyFormat("var regex = /=/;");
verifyFormat("var regex = /a*/;");
verifyFormat("var regex = /a+/;");
verifyFormat("var regex = /a?/;");