]> granicus.if.org Git - clang/commitdiff
clang_getCursorLexicalParent should return a translation unit cursor for declarations...
authorDouglas Gregor <dgregor@apple.com>
Mon, 30 Apr 2012 23:41:16 +0000 (23:41 +0000)
committerDouglas Gregor <dgregor@apple.com>
Mon, 30 Apr 2012 23:41:16 +0000 (23:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155858 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Sema/SemaCodeComplete.cpp
tools/libclang/CIndex.cpp

index 722b2321608ed468a1c6e02165252af407329964..6536d9f522ba0561bb9b28faccddc75dc850fa04 100644 (file)
@@ -2842,6 +2842,7 @@ CXCursorKind clang::getCursorKindForDecl(Decl *D) {
     case Decl::ClassTemplatePartialSpecialization:
       return CXCursor_ClassTemplatePartialSpecialization;
     case Decl::UsingDirective:     return CXCursor_UsingDirective;
+    case Decl::TranslationUnit:    return CXCursor_TranslationUnit;
       
     case Decl::Using:
     case Decl::UnresolvedUsingValue:
index 0beb32d6c9b9d2ea610564998be6246d071c9df2..b2de22f23a14b596014a0736ff110ba2cfff29f8 100644 (file)
@@ -2831,8 +2831,8 @@ CXString clang_getTranslationUnitSpelling(CXTranslationUnit CTUnit) {
 }
 
 CXCursor clang_getTranslationUnitCursor(CXTranslationUnit TU) {
-  CXCursor Result = { CXCursor_TranslationUnit, 0, { 0, 0, TU } };
-  return Result;
+  ASTUnit *CXXUnit = static_cast<ASTUnit*>(TU->TUData);
+  return MakeCXCursor(CXXUnit->getASTContext().getTranslationUnitDecl(), TU);
 }
 
 } // end: extern "C"