]> granicus.if.org Git - clang/commitdiff
Fix a bug I introduced in my const'ification patch.
authorChris Lattner <sabre@nondot.org>
Sun, 6 Apr 2008 05:25:03 +0000 (05:25 +0000)
committerChris Lattner <sabre@nondot.org>
Sun, 6 Apr 2008 05:25:03 +0000 (05:25 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49262 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/DeclObjC.h
lib/AST/DeclObjC.cpp

index 640dd377506d157f5040a3f0c84ebccd3a2dc0cc..a3f54c146286fe740fa3ccc4ee874ba716879f0a 100644 (file)
@@ -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; }
index a8ef5aa473bd0eff9d25cb7ab4e35295e441aa5d..8126485c4ff89b6e4ad583b8c4d2bdc120520cba 100644 (file)
@@ -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;