summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang/CXTranslationUnit.h
diff options
context:
space:
mode:
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-10-17 19:48:19 +0000
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>2011-10-17 19:48:19 +0000
commitdc199a3152b15936b13f47befe4d18bf74c75c33 (patch)
treea8ca5d3aabbde9ff1ccd14d5222c1508f1e8f51f /clang/tools/libclang/CXTranslationUnit.h
parentbd8b150dfca4d03a4fba4407b3fad852425fdf3d (diff)
downloadbcm5719-llvm-dc199a3152b15936b13f47befe4d18bf74c75c33.tar.gz
bcm5719-llvm-dc199a3152b15936b13f47befe4d18bf74c75c33.zip
[libclang] Introduce a new high level API for indexing clients that assumes
more of the work involved in indexing a translation unit and simplifies client implementations. Only C/ObjC for now, C++ (and comments) to come. llvm-svn: 142233
Diffstat (limited to 'clang/tools/libclang/CXTranslationUnit.h')
-rw-r--r--clang/tools/libclang/CXTranslationUnit.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/clang/tools/libclang/CXTranslationUnit.h b/clang/tools/libclang/CXTranslationUnit.h
index 2b8f977539c..47d7146116a 100644
--- a/clang/tools/libclang/CXTranslationUnit.h
+++ b/clang/tools/libclang/CXTranslationUnit.h
@@ -28,6 +28,23 @@ namespace cxtu {
CXTranslationUnitImpl *MakeCXTranslationUnit(ASTUnit *TU);
+class CXTUOwner {
+ CXTranslationUnitImpl *TU;
+
+public:
+ CXTUOwner(CXTranslationUnitImpl *tu) : TU(tu) { }
+ ~CXTUOwner();
+
+ CXTranslationUnitImpl *getTU() const { return TU; }
+
+ CXTranslationUnitImpl *takeTU() {
+ CXTranslationUnitImpl *retTU = TU;
+ TU = 0;
+ return retTU;
+ }
+};
+
+
}} // end namespace clang::cxtu
#endif
OpenPOWER on IntegriCloud