Introduce proper spacing after the Objective-C parameter qualifiers

(bycopy, inout, etc.). Fixes <rdar://problem/10402900>.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144157 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Douglas Gregor 2011-11-09 02:13:45 +00:00
Родитель 3d75ca8362
Коммит 6ef920976a
2 изменённых файлов: 7 добавлений и 12 удалений

Просмотреть файл

@ -1998,25 +1998,20 @@ static void MaybeAddSentinel(ASTContext &Context, NamedDecl *FunctionOrMethod,
}
}
static void appendWithSpace(std::string &Result, StringRef Text) {
if (!Result.empty())
Result += ' ';
Result += Text.str();
}
static std::string formatObjCParamQualifiers(unsigned ObjCQuals) {
std::string Result;
if (ObjCQuals & Decl::OBJC_TQ_In)
appendWithSpace(Result, "in");
Result += "in ";
else if (ObjCQuals & Decl::OBJC_TQ_Inout)
appendWithSpace(Result, "inout");
Result += "inout ";
else if (ObjCQuals & Decl::OBJC_TQ_Out)
appendWithSpace(Result, "out");
Result += "out ";
if (ObjCQuals & Decl::OBJC_TQ_Bycopy)
appendWithSpace(Result, "bycopy");
Result += "bycopy ";
else if (ObjCQuals & Decl::OBJC_TQ_Byref)
appendWithSpace(Result, "byref");
Result += "byref ";
if (ObjCQuals & Decl::OBJC_TQ_Oneway)
appendWithSpace(Result, "oneway");
Result += "oneway ";
return Result;
}

Просмотреть файл

@ -333,4 +333,4 @@ void test_DO(DO *d, A* a) {
// RUN: c-index-test -code-completion-at=%s:175:12 %s | FileCheck -check-prefix=CHECK-CLASS-RESULT %s
// RUN: c-index-test -code-completion-at=%s:189:6 %s | FileCheck -check-prefix=CHECK-DISTRIB-OBJECTS %s
// CHECK-DISTRIB-OBJECTS: ObjCInstanceMethodDecl:{ResultType void}{TypedText method:}{Placeholder (in bycopyA *)}{HorizontalSpace }{TypedText result:}{Placeholder (out byrefA **)} (35)
// CHECK-DISTRIB-OBJECTS: ObjCInstanceMethodDecl:{ResultType void}{TypedText method:}{Placeholder (in bycopy A *)}{HorizontalSpace }{TypedText result:}{Placeholder (out byref A **)} (35)