diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-03-22 15:53:50 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-03-22 15:53:50 +0000 |
commit | 2ca54feee89d7277fb967e3247a64f40ef155a82 (patch) | |
tree | 71321c34dd94cf1eb9fa33085742315fff5a4fb4 | |
parent | 9e2dac9c9b6bc4384c816a447cca6516a03c89f2 (diff) |
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 <rdar://problem/7777070>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@99179 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | tools/CIndex/CIndex.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
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<ObjCInterfaceDecl>(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) { |