summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
Diffstat (limited to 'clang')
-rw-r--r--clang/include/clang/AST/DeclObjC.h6
-rw-r--r--clang/lib/AST/DeclObjC.cpp7
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;
OpenPOWER on IntegriCloud