On Jul 15, 2011, at 3:27 PM, Argyrios Kyrtzidis wrote: > Author: akirtzidis > Date: Fri Jul 15 17:27:18 2011 > New Revision: 135314 > > URL: http://llvm.org/viewvc/llvm-project?rev=135314&view=rev > Log: > Revert r135304 and apply fix in clang_getCanonicalCursor per Doug's, > Fariborz's comments.
Thanks! One last comment, though… > Modified: > cfe/trunk/include/clang/AST/DeclObjC.h > cfe/trunk/tools/libclang/CIndex.cpp > > Modified: cfe/trunk/include/clang/AST/DeclObjC.h > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/AST/DeclObjC.h?rev=135314&r1=135313&r2=135314&view=diff > ============================================================================== > --- cfe/trunk/include/clang/AST/DeclObjC.h (original) > +++ cfe/trunk/include/clang/AST/DeclObjC.h Fri Jul 15 17:27:18 2011 > @@ -1122,12 +1122,6 @@ > ClassInterface(classInterface) {} > > public: > - virtual Decl *getCanonicalDecl() { > - if (Decl *interface = getClassInterface()) > - return interface; > - return this; > - } > - > const ObjCInterfaceDecl *getClassInterface() const { return ClassInterface; > } > ObjCInterfaceDecl *getClassInterface() { return ClassInterface; } > void setClassInterface(ObjCInterfaceDecl *IFace); > > Modified: cfe/trunk/tools/libclang/CIndex.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndex.cpp?rev=135314&r1=135313&r2=135314&view=diff > ============================================================================== > --- cfe/trunk/tools/libclang/CIndex.cpp (original) > +++ cfe/trunk/tools/libclang/CIndex.cpp Fri Jul 15 17:27:18 2011 > @@ -4141,8 +4141,13 @@ > if (!clang_isDeclaration(C.kind)) > return C; > > - if (Decl *D = getCursorDecl(C)) > + if (Decl *D = getCursorDecl(C)) { > + if (ObjCImplDecl *ImplD = dyn_cast<ObjCImplDecl>(D)) > + if (ObjCInterfaceDecl *IFD = ImplD->getClassInterface()) > + return MakeCXCursor(IFD, getCursorTU(C)); > + > return MakeCXCursor(D->getCanonicalDecl(), getCursorTU(C)); > + } I think the canonical cursor of a category implementation should be the category, rather than the interface. - Doug _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
