]> granicus.if.org Git - clang/commit
clang-format: [JS] correcly format object literal methods.
authorMartin Probst <martin@probst.io>
Tue, 7 Feb 2017 16:33:13 +0000 (16:33 +0000)
committerMartin Probst <martin@probst.io>
Tue, 7 Feb 2017 16:33:13 +0000 (16:33 +0000)
commitbe94ccb27bc5cc8de428c67d1199ef992de982a1
tree8cdf488cfe88526b1632d9fa389bc4f1ab0e0b19
parentc28b55e4394cdd9a82b05f9b1546cb7e4e06d2ee
clang-format: [JS] correcly format object literal methods.

Summary:
In JavaScript, object literals can contain methods:

   var x = {
     a() { return 1; },
   };

Previously, clang-format always parsed nested {} inside a braced list as
further braced lists. Special case this logic for JavaScript to try
parsing as a braced list, but fall back to parsing as a child block.

Reviewers: djasper

Subscribers: klimek, cfe-commits

Differential Revision: https://reviews.llvm.org/D29656

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@294315 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Format/TokenAnnotator.cpp
lib/Format/UnwrappedLineParser.cpp
unittests/Format/FormatTestJS.cpp