From 91ecae0a4522b34ced2ac667d4efca0bdb449827 Mon Sep 17 00:00:00 2001 From: Neil Date: Tue, 31 Mar 2020 08:15:54 +1100 Subject: Pass argument as unique_ptr to show transfer of ownership. Add const and noexcept. --- src/Document.cxx | 6 +++--- src/Document.h | 4 ++-- src/ScintillaBase.cxx | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/Document.cxx b/src/Document.cxx index 2c2d86de6..6b93a30af 100644 --- a/src/Document.cxx +++ b/src/Document.cxx @@ -2262,12 +2262,12 @@ void Document::LexerChanged() { } } -LexInterface *Document::GetLexInterface() const { +LexInterface *Document::GetLexInterface() const noexcept { return pli.get(); } -void Document::SetLexInterface(LexInterface *pLexInterface) { - pli.reset(pLexInterface); +void Document::SetLexInterface(std::unique_ptr pLexInterface) noexcept { + pli = std::move(pLexInterface); } int SCI_METHOD Document::SetLineState(Sci_Position line, int state) { diff --git a/src/Document.h b/src/Document.h index ea89877ec..c96fe9ee7 100644 --- a/src/Document.h +++ b/src/Document.h @@ -459,8 +459,8 @@ public: void IncrementStyleClock() noexcept; void SCI_METHOD DecorationSetCurrentIndicator(int indicator) override; void SCI_METHOD DecorationFillRange(Sci_Position position, int value, Sci_Position fillLength) override; - LexInterface *GetLexInterface() const; - void SetLexInterface(LexInterface *pLexInterface); + LexInterface *GetLexInterface() const noexcept; + void SetLexInterface(std::unique_ptr pLexInterface) noexcept; int SCI_METHOD SetLineState(Sci_Position line, int state) override; int SCI_METHOD GetLineState(Sci_Position line) const override; diff --git a/src/ScintillaBase.cxx b/src/ScintillaBase.cxx index 2098fcb6f..8e3a86c15 100644 --- a/src/ScintillaBase.cxx +++ b/src/ScintillaBase.cxx @@ -620,7 +620,7 @@ void LexState::SetInstance(ILexer5 *instance_) { LexState *ScintillaBase::DocumentLexState() { if (!pdoc->GetLexInterface()) { - pdoc->SetLexInterface(new LexState(pdoc)); + pdoc->SetLexInterface(std::make_unique(pdoc)); } return dynamic_cast(pdoc->GetLexInterface()); } -- cgit v1.2.3