From 53c38f4e79ae1369a5c7c96384fd38f452bddc98 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Thu, 27 Nov 2014 14:46:03 +0000 Subject: [PATCH] clang-format: [JS] Make Closure module detection more narrow. Before: var MyLongClassName = goog.module.get('my.long.module.name.followedBy.MyLongClassName'); After: var MyLongClassName = goog.module.get('my.long.module.name.followedBy.MyLongClassName'); llvm-svn: 222888 --- clang/lib/Format/TokenAnnotator.cpp | 3 ++- clang/unittests/Format/FormatTestJS.cpp | 5 +++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/clang/lib/Format/TokenAnnotator.cpp b/clang/lib/Format/TokenAnnotator.cpp index 93ac447..97bba6f 100644 --- a/clang/lib/Format/TokenAnnotator.cpp +++ b/clang/lib/Format/TokenAnnotator.cpp @@ -661,7 +661,8 @@ private: Tok.TokenText == "goog" && Tok.Next && Tok.Next->is(tok::period) && Tok.Next->Next && (Tok.Next->Next->TokenText == "module" || Tok.Next->Next->TokenText == "require" || - Tok.Next->Next->TokenText == "provide"); + Tok.Next->Next->TokenText == "provide") && + Tok.Next->Next->Next && Tok.Next->Next->Next->is(tok::l_paren); } void resetTokenMetadata(FormatToken *Token) { diff --git a/clang/unittests/Format/FormatTestJS.cpp b/clang/unittests/Format/FormatTestJS.cpp index b0733bd..3e781c9 100644 --- a/clang/unittests/Format/FormatTestJS.cpp +++ b/clang/unittests/Format/FormatTestJS.cpp @@ -167,6 +167,11 @@ TEST_F(FormatTestJS, GoogModules) { getGoogleJSStyleWithColumns(40)); verifyFormat("var long = goog.require('this.is.really.absurdly.long');", getGoogleJSStyleWithColumns(40)); + + // These should be wrapped normally. + verifyFormat( + "var MyLongClassName =\n" + " goog.module.get('my.long.module.name.followedBy.MyLongClassName');"); } TEST_F(FormatTestJS, FormatsFreestandingFunctions) { -- 2.7.4