aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/libclang/CIndex.cpp3
-rw-r--r--tools/libclang/CIndexCXX.cpp5
-rw-r--r--tools/libclang/CXCursor.cpp2
-rw-r--r--tools/libclang/CXType.cpp3
4 files changed, 5 insertions, 8 deletions
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<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 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<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 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<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 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<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;