]> granicus.if.org Git - clang/commitdiff
clang-format: [JS] Fix bug in regex literal parsing.
authorDaniel Jasper <djasper@google.com>
Thu, 2 Jul 2015 14:01:34 +0000 (14:01 +0000)
committerDaniel Jasper <djasper@google.com>
Thu, 2 Jul 2015 14:01:34 +0000 (14:01 +0000)
The lexer wasn't properly reset leading to unexpected deletions.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@241262 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Format/Format.cpp
unittests/Format/FormatTestJS.cpp

index b4ec445b5566d434a5f800c16203e0a75e776c83..6e2012eb0fd86c1de62cc8180b8bbf9981854766 100644 (file)
@@ -1227,6 +1227,7 @@ private:
                         getFormattingLangOpts(Style), Buffer.begin(),
                         Buffer.begin() + Offset, Buffer.end()));
     Lex->SetKeepWhitespaceMode(true);
+    TrailingWhitespace = 0;
   }
 };
 
index 83c21183dfdc6ab930a85eed5f49004b86e77e8f..40a2a1ffe6360b447509bf4854d2cb34c9900fe3 100644 (file)
@@ -631,6 +631,7 @@ TEST_F(FormatTestJS, RegexLiteralSpecialCharacters) {
             "var x = 0;",
             format("var regex = /\\/*/;\n"
                    "var x=0;"));
+  EXPECT_EQ("var x = /a\\//;", format("var x = /a\\//  \n;"));
   verifyFormat("var regex = /\"/;", getGoogleJSStyleWithColumns(16));
   verifyFormat("var regex =\n"
                "    /\"/;",