diff options
author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-07-25 22:16:03 +0000 |
---|---|---|
committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2009-07-25 22:16:03 +0000 |
commit | 39c348d91569544c5f1af42d38df30f208cc4884 (patch) | |
tree | 005f6e071466249cf097e4de1e5da10f6d4e206d /clang/lib/AST/DeclObjC.cpp | |
parent | 553376be19e0942c75b707f0eb2219592519c4ee (diff) | |
download | bcm5719-llvm-39c348d91569544c5f1af42d38df30f208cc4884.tar.gz bcm5719-llvm-39c348d91569544c5f1af42d38df30f208cc4884.zip |
Refactor ObjCImplDecl::getInstanceMethod/getClassMethod into one
ObjCImplDecl::getMethod.
llvm-svn: 77094
Diffstat (limited to 'clang/lib/AST/DeclObjC.cpp')
-rw-r--r-- | clang/lib/AST/DeclObjC.cpp | 28 |
1 files changed, 3 insertions, 25 deletions
diff --git a/clang/lib/AST/DeclObjC.cpp b/clang/lib/AST/DeclObjC.cpp index 7b3c853215f..d9005f8f3c3 100644 --- a/clang/lib/AST/DeclObjC.cpp +++ b/clang/lib/AST/DeclObjC.cpp @@ -587,10 +587,10 @@ FindPropertyImplDecl(IdentifierInfo *Id) const { return 0; } -// getInstanceMethod - This method returns an instance method by looking in +// getMethod - This method returns an instance/class method by looking in // the class implementation. Unlike interfaces, we don't look outside the // implementation. -ObjCMethodDecl *ObjCImplDecl::getInstanceMethod(Selector Sel) const { +ObjCMethodDecl *ObjCImplDecl::getMethod(Selector Sel, bool isInstance) const { // Since instance & class methods can have the same name, the loop below // ensures we get the correct method. // @@ -603,29 +603,7 @@ ObjCMethodDecl *ObjCImplDecl::getInstanceMethod(Selector Sel) const { for (llvm::tie(Meth, MethEnd) = lookup(Sel); Meth != MethEnd; ++Meth) { ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(*Meth); - if (MD && MD->isInstanceMethod()) - return MD; - } - return 0; -} - -// getClassMethod - This method returns an instance method by looking in -// the class implementation. Unlike interfaces, we don't look outside the -// implementation. -ObjCMethodDecl *ObjCImplDecl::getClassMethod(Selector Sel) const { - // Since instance & class methods can have the same name, the loop below - // ensures we get the correct method. - // - // @interface Whatever - // - (int) class_method; - // + (float) class_method; - // @end - // - lookup_const_iterator Meth, MethEnd; - for (llvm::tie(Meth, MethEnd) = lookup(Sel); - Meth != MethEnd; ++Meth) { - ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(*Meth); - if (MD && MD->isClassMethod()) + if (MD && MD->isInstanceMethod() == isInstance) return MD; } return 0; |