forked from OSchip/llvm-project
comment parsing: Properties are considered like methods, and people
think of them as having return values that may be computed. Don't warn when using @return in their comment. // rdar://13189938 llvm-svn: 176147
This commit is contained in:
parent
d010ac9a48
commit
81bbee1ed8
|
@ -201,6 +201,7 @@ public:
|
|||
void resolveParamCommandIndexes(const FullComment *FC);
|
||||
|
||||
bool isFunctionDecl();
|
||||
bool isObjCPropertyDecl();
|
||||
bool isTemplateOrSpecialization();
|
||||
|
||||
ArrayRef<const ParmVarDecl *> getParamVars();
|
||||
|
|
|
@ -465,6 +465,9 @@ void Sema::checkReturnsCommand(const BlockCommandComment *Command) {
|
|||
}
|
||||
return;
|
||||
}
|
||||
else if (isObjCPropertyDecl())
|
||||
return;
|
||||
|
||||
Diag(Command->getLocation(),
|
||||
diag::warn_doc_returns_not_attached_to_a_function_decl)
|
||||
<< Command->getCommandName(Traits)
|
||||
|
@ -652,6 +655,14 @@ bool Sema::isFunctionDecl() {
|
|||
inspectThisDecl();
|
||||
return ThisDeclInfo->getKind() == DeclInfo::FunctionKind;
|
||||
}
|
||||
|
||||
bool Sema::isObjCPropertyDecl() {
|
||||
if (!ThisDeclInfo)
|
||||
return false;
|
||||
if (!ThisDeclInfo->IsFilled)
|
||||
inspectThisDecl();
|
||||
return ThisDeclInfo->CurrentDecl->getKind() == Decl::ObjCProperty;
|
||||
}
|
||||
|
||||
bool Sema::isTemplateOrSpecialization() {
|
||||
if (!ThisDeclInfo)
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
// RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-objc-root-class -Wdocumentation -verify %s
|
||||
// expected-no-diagnostics
|
||||
// rdar://13189938
|
||||
|
||||
@interface NSPredicate
|
||||
/// The full predicate to be used for drawing objects from the store.
|
||||
/// It is an AND of the parent's `prefixPredicate` (e.g., the selection for
|
||||
/// volume number) and the `filterPredicate` (selection by matching the name).
|
||||
/// @return `nil` if there is no search string, and no prefix.
|
||||
|
||||
@property(readonly) NSPredicate *andPredicate;
|
||||
/// The predicate that matches the string to be searched for. This
|
||||
/// @return `nil` if there is no search string.
|
||||
@property(readonly) NSPredicate *filterPredicate;
|
||||
@end
|
Loading…
Reference in New Issue