documentation parsing: when providing code completion comment

for a getter used in property-dot syntax, if geter has its own
comment use it. // rdar://12791315



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177797 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Fariborz Jahanian 2013-03-23 01:10:45 +00:00
Родитель b095782ec0
Коммит 168613735d
2 изменённых файлов: 29 добавлений и 2 удалений

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

@ -2550,11 +2550,18 @@ CodeCompletionResult::CreateCodeCompletionString(ASTContext &Ctx,
if (M->isPropertyAccessor())
if (const ObjCPropertyDecl *PDecl = M->findPropertyDecl())
if (PDecl->getGetterName() == M->getSelector() &&
PDecl->getIdentifier() != M->getIdentifier())
if (const RawComment *RC = Ctx.getRawCommentForAnyRedecl(PDecl)) {
PDecl->getIdentifier() != M->getIdentifier()) {
if (const RawComment *RC =
Ctx.getRawCommentForAnyRedecl(M)) {
Result.addBriefComment(RC->getBriefText(Ctx));
Pattern->BriefComment = Result.getBriefComment();
}
else if (const RawComment *RC =
Ctx.getRawCommentForAnyRedecl(PDecl)) {
Result.addBriefComment(RC->getBriefText(Ctx));
Pattern->BriefComment = Result.getBriefComment();
}
}
}
return Pattern;

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

@ -70,3 +70,23 @@
// RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:52:12 %s | FileCheck -check-prefix=CC6 %s
// CHECK-CC6: {TypedText GetterInClassExtension}{{.*}}(brief comment: This is PropertyInClassExtension)
@interface AnotherAppDelegate
/**
\brief This is ReadonlyProperty
*/
@property (getter = ReadonlyGetter) int MyProperty;
/**
\brief This is getter = ReadonlyGetter
*/
- (int) ReadonlyGetter;
@end
@implementation AnotherAppDelegate
- (int) PropertyInPrimaryClass {
self.ReadonlyGetter;
}
@end
// RUN: env CINDEXTEST_COMPLETION_BRIEF_COMMENTS=1 c-index-test -code-completion-at=%s:87:6 %s | FileCheck -check-prefix=CC7 %s
// CHECK-CC7: {TypedText ReadonlyGetter}{{.*}}(brief comment: This is getter = ReadonlyGetter)