From: Douglas Gregor Date: Mon, 22 Mar 2010 15:53:50 +0000 (+0000) Subject: Use the cursor's ASTContext rather than the ASTContext computed from a X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2ca54feee89d7277fb967e3247a64f40ef155a82;p=clang Use the cursor's ASTContext rather than the ASTContext computed from a declaration, just in case invalid code makes the latter incorrect. This may be the cause behind . git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99179 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/tools/CIndex/CIndex.cpp b/tools/CIndex/CIndex.cpp index 1000818692..5a64caa342 100644 --- a/tools/CIndex/CIndex.cpp +++ b/tools/CIndex/CIndex.cpp @@ -1737,7 +1737,7 @@ CXSourceLocation clang_getCursorLocation(CXCursor C) { SourceLocation Loc = D->getLocation(); if (ObjCInterfaceDecl *Class = dyn_cast(D)) Loc = Class->getClassLoc(); - return cxloc::translateSourceLocation(D->getASTContext(), Loc); + return cxloc::translateSourceLocation(getCursorContext(C), Loc); } CXSourceRange clang_getCursorExtent(CXCursor C) { @@ -1800,7 +1800,7 @@ CXSourceRange clang_getCursorExtent(CXCursor C) { return clang_getNullRange(); Decl *D = getCursorDecl(C); - return cxloc::translateSourceRange(D->getASTContext(), D->getSourceRange()); + return cxloc::translateSourceRange(getCursorContext(C), D->getSourceRange()); } CXCursor clang_getCursorReferenced(CXCursor C) {