From: Ben Hamilton Date: Thu, 22 Mar 2018 03:25:22 +0000 (+0000) Subject: [clang-format] Add a few more Core Graphics identifiers to ObjC heuristic X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=541a3de27e33d37aa1ad2ebe3729e7482d96a0e0;p=clang [clang-format] Add a few more Core Graphics identifiers to ObjC heuristic Summary: We received reports of the Objective-C style guesser getting a false negative on header files like: CGSize SizeOfThing(MyThing thing); This adds more Core Graphics identifiers to the Objective-C style guesser. Test Plan: New tests added. Ran tests with: % make -j12 FormatTests && ./tools/clang/unittests/Format/FormatTests Reviewers: jolesiak, djasper Reviewed By: jolesiak, djasper Subscribers: krasimir, klimek, cfe-commits Differential Revision: https://reviews.llvm.org/D44632 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@328175 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Format/Format.cpp b/lib/Format/Format.cpp index 69b3881a7a..e9d1fafe86 100644 --- a/lib/Format/Format.cpp +++ b/lib/Format/Format.cpp @@ -1449,6 +1449,19 @@ private: // Keep this array sorted, since we are binary searching over it. static constexpr llvm::StringLiteral FoundationIdentifiers[] = { "CGFloat", + "CGPoint", + "CGPointMake", + "CGPointZero", + "CGRect", + "CGRectEdge", + "CGRectInfinite", + "CGRectMake", + "CGRectNull", + "CGRectZero", + "CGSize", + "CGSizeMake", + "CGVector", + "CGVectorMake", "NSAffineTransform", "NSArray", "NSAttributedString", @@ -1497,6 +1510,8 @@ private: "NSURLQueryItem", "NSUUID", "NSValue", + "UIImage", + "UIView", }; for (auto &Line : AnnotatedLines) { diff --git a/unittests/Format/FormatTest.cpp b/unittests/Format/FormatTest.cpp index bdb3fbe483..400a55827a 100644 --- a/unittests/Format/FormatTest.cpp +++ b/unittests/Format/FormatTest.cpp @@ -12108,6 +12108,12 @@ TEST_F(FormatTest, FileAndCode) { EXPECT_EQ(FormatStyle::LK_ObjC, guessLanguage("foo.h", "@interface Foo\n@end\n")); EXPECT_EQ(FormatStyle::LK_Cpp, guessLanguage("foo", "")); EXPECT_EQ(FormatStyle::LK_ObjC, guessLanguage("foo", "@interface Foo\n@end\n")); + EXPECT_EQ(FormatStyle::LK_ObjC, + guessLanguage("foo.h", "int DoStuff(CGRect rect);\n")); + EXPECT_EQ( + FormatStyle::LK_ObjC, + guessLanguage("foo.h", + "#define MY_POINT_MAKE(x, y) CGPointMake((x), (y));\n")); } TEST_F(FormatTest, GuessLanguageWithCpp11AttributeSpecifiers) {