From 18efbb52c0e22a6bac4427053dbda66d38319cbf Mon Sep 17 00:00:00 2001 From: chriseth Date: Tue, 18 Dec 2018 13:09:31 +0100 Subject: Use the move. --- libevmasm/AssemblyItem.h | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'libevmasm/AssemblyItem.h') diff --git a/libevmasm/AssemblyItem.h b/libevmasm/AssemblyItem.h index a7875171..e17179fa 100644 --- a/libevmasm/AssemblyItem.h +++ b/libevmasm/AssemblyItem.h @@ -57,22 +57,26 @@ class AssemblyItem public: enum class JumpType { Ordinary, IntoFunction, OutOfFunction }; - AssemblyItem(u256 _push, langutil::SourceLocation const& _location = langutil::SourceLocation()): - AssemblyItem(Push, _push, _location) { } - AssemblyItem(solidity::Instruction _i, langutil::SourceLocation const& _location = langutil::SourceLocation()): + AssemblyItem(u256 _push, langutil::SourceLocation _location = langutil::SourceLocation()): + AssemblyItem(Push, std::move(_push), std::move(_location)) { } + AssemblyItem(solidity::Instruction _i, langutil::SourceLocation _location = langutil::SourceLocation()): m_type(Operation), m_instruction(_i), - m_location(_location) + m_location(std::move(_location)) {} - AssemblyItem(AssemblyItemType _type, u256 _data = 0, langutil::SourceLocation const& _location = langutil::SourceLocation()): + AssemblyItem(AssemblyItemType _type, u256 _data = 0, langutil::SourceLocation _location = langutil::SourceLocation()): m_type(_type), - m_location(_location) + m_location(std::move(_location)) { if (m_type == Operation) m_instruction = Instruction(uint8_t(_data)); else - m_data = std::make_shared(_data); + m_data = std::make_shared(std::move(_data)); } + AssemblyItem(AssemblyItem const&) = default; + AssemblyItem(AssemblyItem&&) = default; + AssemblyItem& operator=(AssemblyItem const&) = default; + AssemblyItem& operator=(AssemblyItem&&) = default; AssemblyItem tag() const { assertThrow(m_type == PushTag || m_type == Tag, Exception, ""); return AssemblyItem(Tag, data()); } AssemblyItem pushTag() const { assertThrow(m_type == PushTag || m_type == Tag, Exception, ""); return AssemblyItem(PushTag, data()); } -- cgit