aboutsummaryrefslogtreecommitdiff
path: root/include/clang/AST
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-04-24 17:06:38 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-04-24 17:06:38 +0000
commitc775b1a0702621e297d00452a897381c8bf10f3f (patch)
treedb6a490ec9e3792662bb5609f463c92184619748 /include/clang/AST
parent94d6ad7b65b59f834bbc40e0caed5ceebca11932 (diff)
Objective-C: When reporting on missing property accessor implementation in
categories, do not report when they are declared in primary class, class's protocol, or one of it super classes. This is because, its class is going to implement them. // rdar://13713098 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180198 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/AST')
-rw-r--r--include/clang/AST/DeclObjC.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/include/clang/AST/DeclObjC.h b/include/clang/AST/DeclObjC.h
index c29492298b..86cf7fc5af 100644
--- a/include/clang/AST/DeclObjC.h
+++ b/include/clang/AST/DeclObjC.h
@@ -1136,7 +1136,8 @@ public:
// Lookup a method. First, we search locally. If a method isn't
// found, we search referenced protocols and class categories.
ObjCMethodDecl *lookupMethod(Selector Sel, bool isInstance,
- bool shallowCategoryLookup= false) const;
+ bool shallowCategoryLookup= false,
+ bool CategoryLookup= true) const;
ObjCMethodDecl *lookupInstanceMethod(Selector Sel,
bool shallowCategoryLookup = false) const {
return lookupMethod(Sel, true/*isInstance*/, shallowCategoryLookup);
@@ -1155,6 +1156,15 @@ public:
return lookupPrivateMethod(Sel, false);
}
+ /// \brief Lookup a setter or getter in the class hierarchy.
+ /// In this lookup, only class hierarchy and not its categories
+ /// are looked up
+ ObjCMethodDecl *lookupPropertyAccessor(const Selector Sel) const {
+ return lookupMethod(Sel, true/*isInstance*/,
+ false /*shallowCategoryLookup*/,
+ false /*CategoryLookup*/);
+ }
+
SourceLocation getEndOfDefinitionLoc() const {
if (!hasDefinition())
return getLocation();