diff options
| author | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-10-17 19:48:19 +0000 |
|---|---|---|
| committer | Argyrios Kyrtzidis <akyrtzi@gmail.com> | 2011-10-17 19:48:19 +0000 |
| commit | dc199a3152b15936b13f47befe4d18bf74c75c33 (patch) | |
| tree | a8ca5d3aabbde9ff1ccd14d5222c1508f1e8f51f /clang/tools/libclang/CXTranslationUnit.h | |
| parent | bd8b150dfca4d03a4fba4407b3fad852425fdf3d (diff) | |
| download | bcm5719-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.h | 17 |
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 |

