Use state mutability in override error messages

This commit is contained in:
Alex Beregszaszi
2017-08-16 17:23:09 +01:00
parent a2aaa47ee2
commit a61c88e9fe
2 changed files with 14 additions and 15 deletions
@@ -933,7 +933,7 @@ BOOST_AUTO_TEST_CASE(illegal_override_remove_constness)
contract B { function f() constant {} }
contract C is B { function f() {} }
)";
CHECK_ERROR(text, TypeError, "Overriding function should be declared constant.");
CHECK_ERROR(text, TypeError, "Overriding function changes state mutability from \"view\" to \"nonpayable\".");
}
BOOST_AUTO_TEST_CASE(illegal_override_add_constness)
@@ -942,7 +942,7 @@ BOOST_AUTO_TEST_CASE(illegal_override_add_constness)
contract B { function f() {} }
contract C is B { function f() constant {} }
)";
CHECK_ERROR(text, TypeError, "Overriding function should not be declared constant.");
CHECK_ERROR(text, TypeError, "Overriding function changes state mutability from \"nonpayable\" to \"view\".");
}
BOOST_AUTO_TEST_CASE(complex_inheritance)
@@ -4779,7 +4779,7 @@ BOOST_AUTO_TEST_CASE(illegal_override_payable)
contract B { function f() payable {} }
contract C is B { function f() {} }
)";
CHECK_ERROR(text, TypeError, "Overriding function should be declared payable.");
CHECK_ERROR(text, TypeError, "Overriding function changes state mutability from \"payable\" to \"nonpayable\".");
}
BOOST_AUTO_TEST_CASE(illegal_override_payable_nonpayable)
@@ -4788,7 +4788,7 @@ BOOST_AUTO_TEST_CASE(illegal_override_payable_nonpayable)
contract B { function f() {} }
contract C is B { function f() payable {} }
)";
CHECK_ERROR(text, TypeError, "Overriding function should not be declared payable.");
CHECK_ERROR(text, TypeError, "Overriding function changes state mutability from \"nonpayable\" to \"payable\".");
}
BOOST_AUTO_TEST_CASE(function_variable_mixin)