diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-01-17 15:12:55 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2018-01-17 15:15:28 +0200 |
commit | 6ae487db5a1045d000c14604503e9c8f3bf24e30 (patch) | |
tree | 5178be02cb15ef3d964ad150b4de0088fddc7d1f /idlc | |
parent | fb4296d14f0421e289afa5e456b75082cdf8716f (diff) |
fix use of std::unique_ptr in Idlc
I removed the deletes in the destructor in
commit b27fee9e0ebb445ce82baeade3b249807dca392b
Date: Wed Jan 10 11:44:28 2018 +0200
loplugin:useuniqueptr cppu,idlc,io,ucbhelper
but forgot to do the actual conversion
Change-Id: Icb03070e1d8a2b10ccf892f01e9b44cc6bf0156f
Diffstat (limited to 'idlc')
-rw-r--r-- | idlc/inc/idlc.hxx | 9 | ||||
-rw-r--r-- | idlc/source/idlc.cxx | 19 |
2 files changed, 13 insertions, 15 deletions
diff --git a/idlc/inc/idlc.hxx b/idlc/inc/idlc.hxx index 881078303e4a..42f16836adbb 100644 --- a/idlc/inc/idlc.hxx +++ b/idlc/inc/idlc.hxx @@ -22,6 +22,7 @@ #include "idlctypes.hxx" #include "aststack.hxx" #include "options.hxx" +#include <memory> #ifdef SAL_UNX #define SEPARATOR '/' @@ -51,9 +52,9 @@ public: Options* getOptions() { return m_pOptions; } AstStack* scopes() - { return m_pScopes; } + { return m_pScopes.get(); } AstModule* getRoot() - { return m_pRoot; } + { return m_pRoot.get(); } const OString& getFileName() const { return m_fileName; } void setFileName(const OString& fileName) @@ -115,8 +116,8 @@ public: void reset(); private: Options* m_pOptions; - AstStack* m_pScopes; - AstModule* m_pRoot; + std::unique_ptr<AstStack> m_pScopes; + std::unique_ptr<AstModule> m_pRoot; OString m_fileName; OString m_mainFileName; OString m_realFileName; diff --git a/idlc/source/idlc.cxx b/idlc/source/idlc.cxx index 2e7467b8ac59..5e530968cb9b 100644 --- a/idlc/source/idlc.cxx +++ b/idlc/source/idlc.cxx @@ -209,7 +209,7 @@ Idlc::Idlc(Options* pOptions) , m_offsetEnd(0) , m_parseState(PS_NoState) { - m_pScopes = new AstStack(); + m_pScopes.reset( new AstStack() ); // init root object after construction m_pRoot = nullptr; m_bGenerateDoc = m_pOptions->isValid("-C"); @@ -221,13 +221,12 @@ Idlc::~Idlc() void Idlc::init() { - delete m_pRoot; - m_pRoot = new AstModule(NT_root, OString(), nullptr); + m_pRoot.reset(new AstModule(NT_root, OString(), nullptr)); // push the root node on the stack - m_pScopes->push(m_pRoot); - initializePredefinedTypes(m_pRoot); - predefineXInterface(m_pRoot); + m_pScopes->push(m_pRoot.get()); + initializePredefinedTypes(m_pRoot.get()); + predefineXInterface(m_pRoot.get()); } void Idlc::reset() @@ -247,13 +246,11 @@ void Idlc::reset() m_documentation.clear(); m_pScopes->clear(); - delete m_pRoot; - - m_pRoot = new AstModule(NT_root, OString(), nullptr); + m_pRoot.reset( new AstModule(NT_root, OString(), nullptr) ); // push the root node on the stack - m_pScopes->push(m_pRoot); - initializePredefinedTypes(m_pRoot); + m_pScopes->push(m_pRoot.get()); + initializePredefinedTypes(m_pRoot.get()); m_includes.clear(); } |