From 46f92523918fd4ac4df5489265c7f85c1b28baea Mon Sep 17 00:00:00 2001 From: Dmitri Gribenko <gribozavr@gmail.com> Date: Fri, 11 Jan 2013 19:28:44 +0000 Subject: [PATCH] libclang: use getCursorTU and getCursorASTUnit instead of explicit casts git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172241 91177308-0d34-0410-b5e6-96231b3b80d8 --- tools/libclang/CIndex.cpp | 3 +-- tools/libclang/CIndexCXX.cpp | 5 ++--- tools/libclang/CXCursor.cpp | 2 +- tools/libclang/CXType.cpp | 3 +-- 4 files changed, 5 insertions(+), 8 deletions(-) diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index c2503fe52c7..249abcc2c5b 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -3118,8 +3118,7 @@ static CXString getDeclSpelling(Decl *D) { CXString clang_getCursorSpelling(CXCursor C) { if (clang_isTranslationUnit(C.kind)) - return clang_getTranslationUnitSpelling( - static_cast<CXTranslationUnit>(C.data[2])); + return clang_getTranslationUnitSpelling(getCursorTU(C)); if (clang_isReference(C.kind)) { switch (C.kind) { diff --git a/tools/libclang/CIndexCXX.cpp b/tools/libclang/CIndexCXX.cpp index 9bc3efa095d..6a1b7de29cc 100644 --- a/tools/libclang/CIndexCXX.cpp +++ b/tools/libclang/CIndexCXX.cpp @@ -58,8 +58,7 @@ enum CXCursorKind clang_getTemplateCursorKind(CXCursor C) { case CXCursor_FunctionTemplate: if (TemplateDecl *Template = dyn_cast_or_null<TemplateDecl>(getCursorDecl(C))) - return MakeCXCursor(Template->getTemplatedDecl(), - static_cast<CXTranslationUnit>(C.data[2])).kind; + return MakeCXCursor(Template->getTemplatedDecl(), getCursorTU(C)).kind; break; case CXCursor_ClassTemplatePartialSpecialization: @@ -122,7 +121,7 @@ CXCursor clang_getSpecializedCursorTemplate(CXCursor C) { if (!Template) return clang_getNullCursor(); - return MakeCXCursor(Template, static_cast<CXTranslationUnit>(C.data[2])); + return MakeCXCursor(Template, getCursorTU(C)); } } // end extern "C" diff --git a/tools/libclang/CXCursor.cpp b/tools/libclang/CXCursor.cpp index 95089621226..8a9cf233c07 100644 --- a/tools/libclang/CXCursor.cpp +++ b/tools/libclang/CXCursor.cpp @@ -805,7 +805,7 @@ ASTContext &cxcursor::getCursorContext(CXCursor Cursor) { } ASTUnit *cxcursor::getCursorASTUnit(CXCursor Cursor) { - CXTranslationUnit TU = static_cast<CXTranslationUnit>(Cursor.data[2]); + CXTranslationUnit TU = getCursorTU(Cursor); if (!TU) return 0; return static_cast<ASTUnit *>(TU->TUData); diff --git a/tools/libclang/CXType.cpp b/tools/libclang/CXType.cpp index 25ea2853d3f..c18b48a82d2 100644 --- a/tools/libclang/CXType.cpp +++ b/tools/libclang/CXType.cpp @@ -636,8 +636,7 @@ CXString clang_getDeclObjCTypeEncoding(CXCursor C) { return cxstring::createCXString(""); Decl *D = static_cast<Decl*>(C.data[0]); - CXTranslationUnit TU = static_cast<CXTranslationUnit>(C.data[2]); - ASTUnit *AU = static_cast<ASTUnit*>(TU->TUData); + ASTUnit *AU = cxcursor::getCursorASTUnit(C); ASTContext &Ctx = AU->getASTContext(); std::string encoding; -- GitLab