]> granicus.if.org Git - clang/commit
Format closing braces when reformatting the line containing the opening brace.
authorManuel Klimek <klimek@google.com>
Mon, 23 Apr 2018 09:34:26 +0000 (09:34 +0000)
committerManuel Klimek <klimek@google.com>
Mon, 23 Apr 2018 09:34:26 +0000 (09:34 +0000)
commit3a450c607490719048d7e52bb50e18c54066e884
treeb697bfd735e810c8b07c4109e5534bac150e4816
parent41ef6cd00386db07cc02e3b618873e87527170da
Format closing braces when reformatting the line containing the opening brace.

This required a couple of yaks to be shaved:
1. MatchingOpeningBlockLineIndex was misused to also store the
   closing index; instead, use a second variable, as this doesn't
   work correctly for "} else {".
2. We needed to change the API of AffectedRangeManager to not
   use iterators; we always passed in begin / end for the whole
   container before, so there was no mismatch in generality.
3. We need an extra check to discontinue formatting at the top
   level, as we now sometimes change the indent of the closing
   brace, but want to bail out immediately afterwards, for
   example:
     void f() {
       if (a) {
     }
     void g();
   Previously:
     void f() {
       if (a) {
     }
     void g();
   Now:
     void f() {
       if (a) {
       }
     void g();

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

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@330573 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Format/AffectedRangeManager.cpp
lib/Format/AffectedRangeManager.h
lib/Format/Format.cpp
lib/Format/NamespaceEndCommentsFixer.cpp
lib/Format/SortJavaScriptImports.cpp
lib/Format/TokenAnnotator.h
lib/Format/UnwrappedLineFormatter.cpp
lib/Format/UnwrappedLineParser.cpp
lib/Format/UnwrappedLineParser.h
lib/Format/UsingDeclarationsSorter.cpp
unittests/Format/FormatTestSelective.cpp