diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2013-04-24 17:06:38 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2013-04-24 17:06:38 +0000 |
commit | c775b1a0702621e297d00452a897381c8bf10f3f (patch) | |
tree | db6a490ec9e3792662bb5609f463c92184619748 /include/clang/AST | |
parent | 94d6ad7b65b59f834bbc40e0caed5ceebca11932 (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.h | 12 |
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(); |