aboutsummaryrefslogtreecommitdiff
path: root/tools/libclang/CXTranslationUnit.h
diff options
context:
space:
mode:
Diffstat (limited to 'tools/libclang/CXTranslationUnit.h')
-rw-r--r--tools/libclang/CXTranslationUnit.h30
1 files changed, 20 insertions, 10 deletions
diff --git a/tools/libclang/CXTranslationUnit.h b/tools/libclang/CXTranslationUnit.h
index 37789aafb9db..699b74a642d1 100644
--- a/tools/libclang/CXTranslationUnit.h
+++ b/tools/libclang/CXTranslationUnit.h
@@ -14,24 +14,34 @@
#ifndef LLVM_CLANG_CXTRANSLATIONUNIT_H
#define LLVM_CLANG_CXTRANSLATIONUNIT_H
-extern "C" {
+#include "clang-c/Index.h"
+#include "CXString.h"
+
+namespace clang {
+ class ASTUnit;
+ class CIndexer;
+ class SimpleFormatContext;
+} // namespace clang
+
struct CXTranslationUnitImpl {
- void *CIdx;
- void *TUData;
- void *StringPool;
+ clang::CIndexer *CIdx;
+ clang::ASTUnit *TheASTUnit;
+ clang::cxstring::CXStringPool *StringPool;
void *Diagnostics;
void *OverridenCursorsPool;
+ clang::SimpleFormatContext *FormatContext;
+ unsigned FormatInMemoryUniqueId;
};
-}
namespace clang {
- class ASTUnit;
- class CIndexer;
-
namespace cxtu {
-CXTranslationUnitImpl *MakeCXTranslationUnit(CIndexer *CIdx, ASTUnit *TU);
-
+CXTranslationUnitImpl *MakeCXTranslationUnit(CIndexer *CIdx, ASTUnit *AU);
+
+static inline ASTUnit *getASTUnit(CXTranslationUnit TU) {
+ return TU->TheASTUnit;
+}
+
class CXTUOwner {
CXTranslationUnitImpl *TU;