[PATCH] D43114: clang-format: fix formatting of ObjC @synchronized blocks

Ben Hamilton via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Feb 12 08:30:17 PST 2018


benhamilton added inline comments.


================
Comment at: lib/Format/UnwrappedLineParser.cpp:1130
+        if (FormatTok->Tok.is(tok::l_brace)) {
+          if (Style.BraceWrapping.AfterObjCDeclaration)
+            addUnwrappedLine();
----------------
Typz wrote:
> benhamilton wrote:
> > Typz wrote:
> > > Wondering if formatting with this style is appropriate: the clang-format doc points in that direction, but it seems to me both `@synchronized` and `@autoreleasepool` are more akin to "control statements".
> > > 
> > > For consistency (esp. in ObjC++ code), as a user, I would tend to have these blocks indented like control statements while interfaces/implementations blocks would be indented like classes/structs.
> > > 
> > > So maybe it would be better to introduce a new BraceWrapping style 'AfterObjCSpecialBlock` to control these cases, matching the possibilities that are given for control statements vs classes. What do you think?
> > Hmm, I definitely agree with that logic. I don't see them acting as declarations in any way, they are definitely like control statements.
> > 
> Ok, i can change this. Two questions though:
> * Should I do this in this patch, or a separate patch? (won't be a big change in any case, but it can still be seen as 2 separate issues/changes)
> * Should I introduce a new BraceWrapping flag (`AfterObjCSpecialBlock`), or simply apply `AfterControlStatement` to these blocks?
Personally, I feel `AfterControlStatement` applies to these. I'm not an expert on this, though, so I will defer to others on the review.


Repository:
  rC Clang

https://reviews.llvm.org/D43114





More information about the cfe-commits mailing list