mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Move memberlist to avoid unique_ptr copy.
This commit is contained in:
parent
02595abf6a
commit
9b2a255c1b
18
Types.cpp
18
Types.cpp
@ -1246,23 +1246,29 @@ MagicType::MagicType(MagicType::Kind _kind):
|
|||||||
switch (m_kind)
|
switch (m_kind)
|
||||||
{
|
{
|
||||||
case Kind::Block:
|
case Kind::Block:
|
||||||
m_members = MemberList({{"coinbase", make_shared<IntegerType>(0, IntegerType::Modifier::Address)},
|
m_members = move(MemberList({
|
||||||
|
{"coinbase", make_shared<IntegerType>(0, IntegerType::Modifier::Address)},
|
||||||
{"timestamp", make_shared<IntegerType>(256)},
|
{"timestamp", make_shared<IntegerType>(256)},
|
||||||
{"blockhash", make_shared<FunctionType>(strings{"uint"}, strings{"bytes32"}, FunctionType::Location::BlockHash)},
|
{"blockhash", make_shared<FunctionType>(strings{"uint"}, strings{"bytes32"}, FunctionType::Location::BlockHash)},
|
||||||
{"difficulty", make_shared<IntegerType>(256)},
|
{"difficulty", make_shared<IntegerType>(256)},
|
||||||
{"number", make_shared<IntegerType>(256)},
|
{"number", make_shared<IntegerType>(256)},
|
||||||
{"gaslimit", make_shared<IntegerType>(256)}});
|
{"gaslimit", make_shared<IntegerType>(256)}
|
||||||
|
}));
|
||||||
break;
|
break;
|
||||||
case Kind::Message:
|
case Kind::Message:
|
||||||
m_members = MemberList({{"sender", make_shared<IntegerType>(0, IntegerType::Modifier::Address)},
|
m_members = move(MemberList({
|
||||||
|
{"sender", make_shared<IntegerType>(0, IntegerType::Modifier::Address)},
|
||||||
{"gas", make_shared<IntegerType>(256)},
|
{"gas", make_shared<IntegerType>(256)},
|
||||||
{"value", make_shared<IntegerType>(256)},
|
{"value", make_shared<IntegerType>(256)},
|
||||||
{"data", make_shared<ArrayType>(ArrayType::Location::CallData)},
|
{"data", make_shared<ArrayType>(ArrayType::Location::CallData)},
|
||||||
{"sig", make_shared<FixedBytesType>(4)}});
|
{"sig", make_shared<FixedBytesType>(4)}
|
||||||
|
}));
|
||||||
break;
|
break;
|
||||||
case Kind::Transaction:
|
case Kind::Transaction:
|
||||||
m_members = MemberList({{"origin", make_shared<IntegerType>(0, IntegerType::Modifier::Address)},
|
m_members = move(MemberList({
|
||||||
{"gasprice", make_shared<IntegerType>(256)}});
|
{"origin", make_shared<IntegerType>(0, IntegerType::Modifier::Address)},
|
||||||
|
{"gasprice", make_shared<IntegerType>(256)}
|
||||||
|
}));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unknown kind of magic."));
|
BOOST_THROW_EXCEPTION(InternalCompilerError() << errinfo_comment("Unknown kind of magic."));
|
||||||
|
Loading…
Reference in New Issue
Block a user