From 8f2e94c8ab87a140c32896b4e67356f89ba347fb Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Thu, 4 Sep 2014 15:03:34 +0000 Subject: [PATCH] clang-format: [JS] Supprot "catch" as function name. Before: someObject.catch (); After: someObject.catch(); llvm-svn: 217158 --- clang/lib/Format/TokenAnnotator.cpp | 4 +++- clang/unittests/Format/FormatTestJS.cpp | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 6142e7dc56ba..00c486a3add7 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -1586,7 +1586,9 @@ bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line, Left.isOneOf(tok::kw_new, tok::kw_delete, tok::semi) || (Style.SpaceBeforeParens != FormatStyle::SBPO_Never && (Left.isOneOf(tok::kw_if, tok::kw_for, tok::kw_while, - tok::kw_switch, tok::kw_catch, tok::kw_case) || + tok::kw_switch, tok::kw_case) || + (Left.is(tok::kw_catch) && + (!Left.Previous || Left.Previous->isNot(tok::period))) || Left.IsForEachMacro)) || (Style.SpaceBeforeParens == FormatStyle::SBPO_Always && (Left.is(tok::identifier) || Left.isFunctionLikeKeyword()) && diff --git a/clang/unittests/Format/FormatTestJS.cpp b/clang/unittests/Format/FormatTestJS.cpp index 4b0d1e77bd74..5bb1a3850c8e 100644 --- a/clang/unittests/Format/FormatTestJS.cpp +++ b/clang/unittests/Format/FormatTestJS.cpp @@ -254,6 +254,9 @@ TEST_F(FormatTestJS, TryCatch) { "} finally {\n" " h();\n" "}"); + + // But, of course, "catch" is a perfectly fine function name in JavaScript. + verifyFormat("someObject.catch();"); } TEST_F(FormatTestJS, StringLiteralConcatenation) {