diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/include/clang/AST/DeclObjC.h | 6 | ||||
-rw-r--r-- | clang/lib/AST/DeclObjC.cpp | 7 |
2 files changed, 6 insertions, 7 deletions
diff --git a/clang/include/clang/AST/DeclObjC.h b/clang/include/clang/AST/DeclObjC.h index 640dd377506..a3f54c14628 100644 --- a/clang/include/clang/AST/DeclObjC.h +++ b/clang/include/clang/AST/DeclObjC.h @@ -125,9 +125,9 @@ public: NamedDecl *getMethodContext() const { return MethodContext; } - const ObjCInterfaceDecl *getClassInterface() const; - ObjCInterfaceDecl *getClassInterface() { - return (ObjCInterfaceDecl*)((ObjCMethodDecl*)this)->getClassInterface(); + ObjCInterfaceDecl *getClassInterface(); + const ObjCInterfaceDecl *getClassInterface() const { + return const_cast<ObjCMethodDecl*>(this)->getClassInterface(); } Selector getSelector() const { return SelName; } diff --git a/clang/lib/AST/DeclObjC.cpp b/clang/lib/AST/DeclObjC.cpp index a8ef5aa473b..8126485c4ff 100644 --- a/clang/lib/AST/DeclObjC.cpp +++ b/clang/lib/AST/DeclObjC.cpp @@ -417,16 +417,15 @@ unsigned ObjCMethodDecl::getSynthesizedMethodSize() const { return length; } -const ObjCInterfaceDecl *ObjCMethodDecl::getClassInterface() const { +ObjCInterfaceDecl *ObjCMethodDecl::getClassInterface() { if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(MethodContext)) return ID; if (ObjCCategoryDecl *CD = dyn_cast<ObjCCategoryDecl>(MethodContext)) return CD->getClassInterface(); if (ObjCImplementationDecl *IMD = - dyn_cast<ObjCImplementationDecl>(MethodContext)) + dyn_cast<ObjCImplementationDecl>(MethodContext)) return IMD->getClassInterface(); - if (ObjCCategoryImplDecl *CID = - dyn_cast<ObjCCategoryImplDecl>(MethodContext)) + if (ObjCCategoryImplDecl *CID = dyn_cast<ObjCCategoryImplDecl>(MethodContext)) return CID->getClassInterface(); assert(false && "unknown method context"); return 0; |