[PATCH] clang-format: [JS] Fix function formatting

Adam Strzelecki ono at java.pl
Wed Jun 18 04:07:15 PDT 2014


Hi djasper,

We should consume function identifier only when we are in braced list.

This fixes bug introduced in 71bd6fc3 that effectively disabled JS function
formatting.

http://reviews.llvm.org/D4190

Files:
  lib/Format/UnwrappedLineParser.cpp
  lib/Format/UnwrappedLineParser.h

Index: lib/Format/UnwrappedLineParser.cpp
===================================================================
--- lib/Format/UnwrappedLineParser.cpp
+++ lib/Format/UnwrappedLineParser.cpp
@@ -905,11 +905,11 @@
   return false;
 }
 
-void UnwrappedLineParser::tryToParseJSFunction() {
+void UnwrappedLineParser::tryToParseJSFunction(bool BracedList) {
   nextToken();
 
-  // Consume function name.
-  if (FormatTok->is(tok::identifier))
+  // Consume function name if in braced list.
+  if (BracedList && FormatTok->is(tok::identifier))
       nextToken();
 
   if (FormatTok->isNot(tok::l_paren))
@@ -945,7 +945,7 @@
   do {
     if (Style.Language == FormatStyle::LK_JavaScript &&
         FormatTok->TokenText == "function") {
-      tryToParseJSFunction();
+      tryToParseJSFunction(true);
       continue;
     }
     switch (FormatTok->Tok.getKind()) {
Index: lib/Format/UnwrappedLineParser.h
===================================================================
--- lib/Format/UnwrappedLineParser.h
+++ lib/Format/UnwrappedLineParser.h
@@ -101,7 +101,7 @@
   void parseObjCProtocol();
   bool tryToParseLambda();
   bool tryToParseLambdaIntroducer();
-  void tryToParseJSFunction();
+  void tryToParseJSFunction(bool BracedList = false);
   void addUnwrappedLine();
   bool eof() const;
   void nextToken();
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D4190.10548.patch
Type: text/x-patch
Size: 1315 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140618/9c028466/attachment.bin>


More information about the cfe-commits mailing list