From 1860b49d00b19302ee530ff8b5a84dd0fa3105a6 Mon Sep 17 00:00:00 2001 From: Daniel Jasper Date: Tue, 6 May 2014 14:12:21 +0000 Subject: [PATCH] clang-format: [JS] Keep space between 'return' and '['. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208090 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Format/TokenAnnotator.cpp | 7 ++++--- unittests/Format/FormatTestJS.cpp | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/Format/TokenAnnotator.cpp b/lib/Format/TokenAnnotator.cpp index 98ef453e4c..e873e98460 100644 --- a/lib/Format/TokenAnnotator.cpp +++ b/lib/Format/TokenAnnotator.cpp @@ -1215,7 +1215,7 @@ void TokenAnnotator::calculateFormattingInformation(AnnotatedLine &Line) { } } } else if (Current->SpacesRequiredBefore == 0 && - spaceRequiredBefore(Line, *Current)) { + spaceRequiredBefore(Line, *Current)) { Current->SpacesRequiredBefore = 1; } @@ -1385,6 +1385,8 @@ bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line, (Left.TokenText == "returns" || Left.TokenText == "option")) return true; } + if (Left.is(tok::kw_return) && Right.isNot(tok::semi)) + return true; if (Style.ObjCSpaceAfterProperty && Line.Type == LT_ObjCProperty && Left.Tok.getObjCKeywordID() == tok::objc_property) return true; @@ -1459,8 +1461,7 @@ bool TokenAnnotator::spaceRequiredBetween(const AnnotatedLine &Line, if (Left.is(tok::r_paren) && Left.Type == TT_AttributeParen) return true; return Line.Type == LT_ObjCDecl || - Left.isOneOf(tok::kw_return, tok::kw_new, tok::kw_delete, - tok::semi) || + 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) || diff --git a/unittests/Format/FormatTestJS.cpp b/unittests/Format/FormatTestJS.cpp index 4e8908685f..153b07535e 100644 --- a/unittests/Format/FormatTestJS.cpp +++ b/unittests/Format/FormatTestJS.cpp @@ -98,5 +98,9 @@ TEST_F(FormatTestJS, GoogScopes) { "}); // goog.scope"); } +TEST_F(FormatTestJS, ReturnStatements) { + verifyFormat("function() { return [hello, world]; }"); +} + } // end namespace tooling } // end namespace clang -- 2.40.0