From: Dmitri Gribenko Date: Fri, 11 Jan 2013 19:28:44 +0000 (+0000) Subject: libclang: use getCursorTU and getCursorASTUnit instead of explicit casts X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=46f92523918fd4ac4df5489265c7f85c1b28baea;p=clang 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 --- diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index c2503fe52c..249abcc2c5 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(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 9bc3efa095..6a1b7de29c 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(getCursorDecl(C))) - return MakeCXCursor(Template->getTemplatedDecl(), - static_cast(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(C.data[2])); + return MakeCXCursor(Template, getCursorTU(C)); } } // end extern "C" diff --git a/tools/libclang/CXCursor.cpp b/tools/libclang/CXCursor.cpp index 9508962122..8a9cf233c0 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(Cursor.data[2]); + CXTranslationUnit TU = getCursorTU(Cursor); if (!TU) return 0; return static_cast(TU->TUData); diff --git a/tools/libclang/CXType.cpp b/tools/libclang/CXType.cpp index 25ea2853d3..c18b48a82d 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(C.data[0]); - CXTranslationUnit TU = static_cast(C.data[2]); - ASTUnit *AU = static_cast(TU->TUData); + ASTUnit *AU = cxcursor::getCursorASTUnit(C); ASTContext &Ctx = AU->getASTContext(); std::string encoding;