Skip to content

Commit 364da72

Browse files
committed
Token: use std::unique_ptr for mRef and mRefTemp
1 parent 0c80684 commit 364da72

File tree

2 files changed

+6
-9
lines changed

2 files changed

+6
-9
lines changed

lib/token.cpp

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2647,8 +2647,6 @@ Token::Impl::~Impl()
26472647
delete mOriginalName;
26482648
delete mValueType;
26492649
delete mValues;
2650-
delete mRefs;
2651-
delete mRefsTemp;
26522650

26532651
if (mTemplateSimplifierPointers) {
26542652
for (auto *p : *mTemplateSimplifierPointers) {
@@ -2745,11 +2743,11 @@ const SmallVector<ReferenceToken>& Token::refs(bool temporary) const
27452743
{
27462744
if (temporary) {
27472745
if (!mImpl->mRefsTemp)
2748-
mImpl->mRefsTemp = new SmallVector<ReferenceToken>(followAllReferences(this, true));
2746+
mImpl->mRefsTemp.reset(new SmallVector<ReferenceToken>(followAllReferences(this, true)));
27492747
return *mImpl->mRefsTemp;
27502748
}
27512749

27522750
if (!mImpl->mRefs)
2753-
mImpl->mRefs = new SmallVector<ReferenceToken>(followAllReferences(this, false));
2751+
mImpl->mRefs.reset(new SmallVector<ReferenceToken>(followAllReferences(this, false)));
27542752
return *mImpl->mRefs;
27552753
}

lib/token.h

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ class CPPCHECKLIB Token {
121121
// symbol database information
122122
const Scope* mScope{};
123123
union {
124-
const Function *mFunction;
124+
const Function *mFunction{};
125125
const Variable *mVariable;
126126
const ::Type* mType;
127127
const Enumerator *mEnumerator;
@@ -169,14 +169,13 @@ class CPPCHECKLIB Token {
169169

170170
TokenDebug mDebug{};
171171

172-
SmallVector<ReferenceToken>* mRefs{};
173-
SmallVector<ReferenceToken>* mRefsTemp{};
172+
std::unique_ptr<SmallVector<ReferenceToken>> mRefs;
173+
std::unique_ptr<SmallVector<ReferenceToken>> mRefsTemp;
174174

175175
void setCppcheckAttribute(CppcheckAttributesType type, MathLib::bigint value);
176176
bool getCppcheckAttribute(CppcheckAttributesType type, MathLib::bigint &value) const;
177177

178-
Impl() : mFunction(nullptr) {}
179-
178+
Impl() = default;
180179
~Impl();
181180

182181
Impl(const Impl &) = delete;

0 commit comments

Comments
 (0)