HomePhabricator

[clang-format] Do not insert space before closing brace in ObjC dict literal

Authored by benhamilton on Mar 27 2018, 8:01 AM.

Description

[clang-format] Do not insert space before closing brace in ObjC dict literal

Summary:
Previously, clang-format would sometimes insert a space
before the closing brace in an Objective-C dictionary literal.

Unlike array literals (which obey Style.SpacesInContainerLiterals
to add a space after [ and before ]), Objective-C dictionary
literals currently are not meant to insert a space after { and before
}, regardless of Style.SpacesInContainerLiterals.

However, some constructs like @{foo : @(bar)} caused clang-format
to insert a space between ) and }.

This fixes the issue and adds tests. (I understand the behavior is
not consistent between array literals and dictionary literals, but
that's existing behavior that's a much larger change.)

Test Plan: New tests added. Ran tests with:

% make -j12 FormatTests && ./tools/clang/unittests/Format/FormatTests

Reviewers: djasper, jolesiak, Wizard

Reviewed By: djasper

Subscribers: klimek, cfe-commits

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

llvm-svn: 328627

Details

Committed
benhamiltonMar 27 2018, 8:01 AM
Reviewer
djasper
Differential Revision
D44816: [clang-format] Do not insert space before closing brace in ObjC dict literal
Parents
rGa93c5f5cbb13: Drop spurious break; NFC
Branches
Unknown
Tags
Unknown