From d36209e30827a27d90505ede2c58a71681b74c8f Mon Sep 17 00:00:00 2001 From: Dmitri Gribenko Date: Sat, 26 Jan 2013 21:32:42 +0000 Subject: libclang: some type safety for CXTranslationUnitImpl's internals There is no reason to store pointers as 'void*' in CXTranslationUnitImpl, since it does not affect libclang ABI. llvm-svn: 173588 --- clang/tools/libclang/CXTranslationUnit.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'clang/tools/libclang/CXTranslationUnit.h') diff --git a/clang/tools/libclang/CXTranslationUnit.h b/clang/tools/libclang/CXTranslationUnit.h index 323d4b78aa9..15e89ea8499 100644 --- a/clang/tools/libclang/CXTranslationUnit.h +++ b/clang/tools/libclang/CXTranslationUnit.h @@ -16,17 +16,20 @@ #include "clang-c/Index.h" -extern "C" { +namespace clang { + class ASTUnit; + class CIndexer; +} // namespace clang + struct CXTranslationUnitImpl { void *CIdx; - void *TUData; + clang::ASTUnit *TheASTUnit; void *StringPool; void *Diagnostics; void *OverridenCursorsPool; void *FormatContext; unsigned FormatInMemoryUniqueId; }; -} namespace clang { class ASTUnit; @@ -34,10 +37,10 @@ namespace clang { namespace cxtu { -CXTranslationUnitImpl *MakeCXTranslationUnit(CIndexer *CIdx, ASTUnit *TU); +CXTranslationUnitImpl *MakeCXTranslationUnit(CIndexer *CIdx, ASTUnit *AU); static inline ASTUnit *getASTUnit(CXTranslationUnit TU) { - return static_cast(TU->TUData); + return TU->TheASTUnit; } class CXTUOwner { -- cgit v1.2.3