mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
FunctionType comparison/identifer to support all statemutability levels
This commit is contained in:
@@ -221,7 +221,7 @@ BOOST_AUTO_TEST_CASE(function_type)
|
||||
Json::Value retval = fun["children"][1]["children"][0];
|
||||
BOOST_CHECK_EQUAL(retval["name"], "VariableDeclaration");
|
||||
BOOST_CHECK_EQUAL(retval["attributes"]["name"], "");
|
||||
BOOST_CHECK_EQUAL(retval["attributes"]["type"], "function () constant external returns (uint256)");
|
||||
BOOST_CHECK_EQUAL(retval["attributes"]["type"], "function () view external returns (uint256)");
|
||||
funType = retval["children"][0];
|
||||
BOOST_CHECK_EQUAL(funType["attributes"]["constant"], true);
|
||||
BOOST_CHECK_EQUAL(funType["attributes"]["payable"], false);
|
||||
|
||||
@@ -129,10 +129,10 @@ BOOST_AUTO_TEST_CASE(type_identifiers)
|
||||
BOOST_CHECK_EQUAL(t.identifier(), "t_tuple$_t_type$_t_enum$_Enum_$4_$_$_t_type$_t_struct$_Struct_$3_storage_ptr_$_$_t_array$_t_string_storage_$20_storage_ptr_$__$");
|
||||
|
||||
TypePointer sha3fun = make_shared<FunctionType>(strings{}, strings{}, FunctionType::Kind::SHA3);
|
||||
BOOST_CHECK_EQUAL(sha3fun->identifier(), "t_function_sha3$__$returns$__$");
|
||||
BOOST_CHECK_EQUAL(sha3fun->identifier(), "t_function_sha3_nonpayable$__$returns$__$");
|
||||
|
||||
FunctionType metaFun(TypePointers{sha3fun}, TypePointers{s.type()});
|
||||
BOOST_CHECK_EQUAL(metaFun.identifier(), "t_function_internal$_t_function_sha3$__$returns$__$_$returns$_t_type$_t_struct$_Struct_$3_storage_ptr_$_$");
|
||||
BOOST_CHECK_EQUAL(metaFun.identifier(), "t_function_internal_nonpayable$_t_function_sha3_nonpayable$__$returns$__$_$returns$_t_type$_t_struct$_Struct_$3_storage_ptr_$_$");
|
||||
|
||||
TypePointer m = make_shared<MappingType>(Type::fromElementaryTypeName("bytes32"), s.type());
|
||||
MappingType m2(Type::fromElementaryTypeName("uint64"), m);
|
||||
|
||||
Reference in New Issue
Block a user