Make yul::Parser::parse() return unique_ptr rather than shared_ptr

- unique_ptr is more flexible and generally recommended for factory methods. It gets automatically converted to shared_ptr if necessary. Returning shared_ptr, on the other hand, forces the caller to use shared_ptr because a conversion to unique_ptr is not possible.
This commit is contained in:
cameel
2020-01-29 20:07:08 +01:00
parent e41155cf48
commit 642653ea04
3 changed files with 4 additions and 4 deletions
+2 -2
View File
@@ -37,7 +37,7 @@ using namespace solidity::util;
using namespace solidity::langutil;
using namespace solidity::yul;
shared_ptr<Block> Parser::parse(std::shared_ptr<Scanner> const& _scanner, bool _reuseScanner)
unique_ptr<Block> Parser::parse(std::shared_ptr<Scanner> const& _scanner, bool _reuseScanner)
{
m_recursionDepth = 0;
@@ -47,7 +47,7 @@ shared_ptr<Block> Parser::parse(std::shared_ptr<Scanner> const& _scanner, bool _
try
{
m_scanner = _scanner;
auto block = make_shared<Block>(parseBlock());
auto block = make_unique<Block>(parseBlock());
if (!_reuseScanner)
expectToken(Token::EOS);
return block;