src: Use move semantics for NameElement construction
This commit is contained in:
@@ -9,9 +9,9 @@ NameElement::Signature::Signature()
|
||||
{
|
||||
}
|
||||
|
||||
NameElement::Signature::Signature(const std::wstring& prefix, const std::wstring& postfix)
|
||||
: m_prefix(prefix)
|
||||
, m_postfix(postfix)
|
||||
NameElement::Signature::Signature(std::wstring prefix, std::wstring postfix)
|
||||
: m_prefix(std::move(prefix))
|
||||
, m_postfix(std::move(postfix))
|
||||
{
|
||||
}
|
||||
|
||||
@@ -56,14 +56,14 @@ std::wstring NameElement::Signature::getParameterString() const
|
||||
return utility::substrBeforeLast(m_postfix, L')') + L')';
|
||||
}
|
||||
|
||||
NameElement::NameElement(const std::wstring& name)
|
||||
: m_name(name)
|
||||
NameElement::NameElement(std::wstring name)
|
||||
: m_name(std::move(name))
|
||||
{
|
||||
}
|
||||
|
||||
NameElement::NameElement(const std::wstring& name, const Signature& signature)
|
||||
: m_name(name)
|
||||
, m_signature(signature)
|
||||
NameElement::NameElement(std::wstring name, std::wstring prefix, std::wstring postfix)
|
||||
: m_name(std::move(name))
|
||||
, m_signature(std::move(prefix), std::move(postfix))
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ public:
|
||||
{
|
||||
public:
|
||||
Signature();
|
||||
Signature(const std::wstring& prefix, const std::wstring& postfix);
|
||||
Signature(std::wstring prefix, std::wstring postfix);
|
||||
|
||||
std::wstring qualifyName(const std::wstring& name) const;
|
||||
bool isValid() const;
|
||||
@@ -28,8 +28,8 @@ public:
|
||||
const std::wstring m_postfix;
|
||||
};
|
||||
|
||||
NameElement(const std::wstring& name);
|
||||
NameElement(const std::wstring& name, const Signature& signature);
|
||||
NameElement(std::wstring name);
|
||||
NameElement(std::wstring name, std::wstring prefix, std::wstring postfix);
|
||||
~NameElement();
|
||||
|
||||
const std::wstring& getName() const;
|
||||
|
||||
@@ -81,7 +81,7 @@ NameHierarchy NameHierarchy::deserialize(const std::wstring& serializedName)
|
||||
npos += NAME_DELIMITER.size();
|
||||
}
|
||||
|
||||
nameHierarchy.push(std::make_shared<NameElement>(name, NameElement::Signature(prefix, postfix)));
|
||||
nameHierarchy.push(std::make_shared<NameElement>(std::move(name), std::move(prefix), std::move(postfix)));
|
||||
}
|
||||
|
||||
return nameHierarchy;
|
||||
|
||||
@@ -93,7 +93,8 @@ NameHierarchy CxxFunctionDeclName::toNameHierarchy() const
|
||||
NameHierarchy ret = CxxDeclName::toNameHierarchy();
|
||||
std::shared_ptr<NameElement> nameElement = std::make_shared<NameElement>(
|
||||
ret.back()->getName(),
|
||||
NameElement::Signature(signaturePrefix, signaturePostfix)
|
||||
std::move(signaturePrefix),
|
||||
std::move(signaturePostfix)
|
||||
);
|
||||
|
||||
ret.pop();
|
||||
|
||||
@@ -57,7 +57,8 @@ NameHierarchy CxxStaticFunctionDeclName::toNameHierarchy() const
|
||||
|
||||
std::shared_ptr<NameElement> nameElement = std::make_shared<NameElement>(
|
||||
ret.back()->getName(),
|
||||
NameElement::Signature(sig.getPrefix(), sig.getPostfix() + L" (" + m_translationUnitFileName + L")")
|
||||
sig.getPrefix(),
|
||||
sig.getPostfix() + L" (" + m_translationUnitFileName + L")"
|
||||
);
|
||||
|
||||
ret.pop();
|
||||
|
||||
@@ -64,7 +64,8 @@ NameHierarchy CxxVariableDeclName::toNameHierarchy() const
|
||||
NameHierarchy ret = CxxDeclName::toNameHierarchy();
|
||||
std::shared_ptr<NameElement> nameElement = std::make_shared<NameElement>(
|
||||
ret.back()->getName(),
|
||||
NameElement::Signature(signaturePrefix, signaturePostfix)
|
||||
std::move(signaturePrefix),
|
||||
std::move(signaturePostfix)
|
||||
);
|
||||
|
||||
ret.pop();
|
||||
|
||||
@@ -261,7 +261,7 @@ private:
|
||||
NameHierarchy nameHierarchy = createNameHierarchy(name);
|
||||
std::wstring lastName = nameHierarchy.back()->getName();
|
||||
nameHierarchy.pop();
|
||||
nameHierarchy.push(std::make_shared<NameElement>(lastName, NameElement::Signature(ret, parameters)));
|
||||
nameHierarchy.push(std::make_shared<NameElement>(lastName, ret, parameters));
|
||||
return nameHierarchy;
|
||||
}
|
||||
|
||||
@@ -270,7 +270,7 @@ private:
|
||||
NameHierarchy nameHierarchy(NAME_DELIMITER_CXX);
|
||||
for (std::wstring element: utility::splitToVector(s, nameDelimiterTypeToString(NAME_DELIMITER_CXX)))
|
||||
{
|
||||
nameHierarchy.push(std::make_shared<NameElement>(element, NameElement::Signature()));
|
||||
nameHierarchy.push(std::make_shared<NameElement>(element));
|
||||
}
|
||||
return nameHierarchy;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user