diff options
author | David Blaikie <dblaikie@gmail.com> | 2014-08-10 16:54:39 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2014-08-10 16:54:39 +0000 |
commit | cde40130ce9978e543acbd8a103cfc22bc80a023 (patch) | |
tree | e212dd1a540369ef0e5888aa428c69524a120b41 /include/clang/Serialization | |
parent | e46379d8b7cffd91ed35edbc3f670e0e85a8cf6f (diff) |
unique_ptr-ify ASTReaderListener in the ASTReader
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@215317 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Serialization')
-rw-r--r-- | include/clang/Serialization/ASTReader.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/include/clang/Serialization/ASTReader.h b/include/clang/Serialization/ASTReader.h index f43d51b715..c8701c4fbc 100644 --- a/include/clang/Serialization/ASTReader.h +++ b/include/clang/Serialization/ASTReader.h @@ -202,8 +202,9 @@ class ChainedASTReaderListener : public ASTReaderListener { public: /// Takes ownership of \p First and \p Second. - ChainedASTReaderListener(ASTReaderListener *First, ASTReaderListener *Second) - : First(First), Second(Second) { } + ChainedASTReaderListener(std::unique_ptr<ASTReaderListener> First, + std::unique_ptr<ASTReaderListener> Second) + : First(std::move(First)), Second(std::move(Second)) {} bool ReadFullVersionInformation(StringRef FullVersion) override; void ReadModuleName(StringRef ModuleName) override; @@ -1371,17 +1372,18 @@ public: bool FromFinalization); /// \brief Set the AST callbacks listener. - void setListener(ASTReaderListener *listener) { - Listener.reset(listener); + void setListener(std::unique_ptr<ASTReaderListener> Listener) { + this->Listener = std::move(Listener); } /// \brief Add an AST callbak listener. /// /// Takes ownership of \p L. - void addListener(ASTReaderListener *L) { + void addListener(std::unique_ptr<ASTReaderListener> L) { if (Listener) - L = new ChainedASTReaderListener(L, Listener.release()); - Listener.reset(L); + L = llvm::make_unique<ChainedASTReaderListener>(std::move(L), + std::move(Listener)); + Listener = std::move(L); } /// \brief Set the AST deserialization listener. |