diff options
author | Lefteris Karapetsas <lefteris@refu.co> | 2015-02-20 00:43:53 +0800 |
---|---|---|
committer | Lefteris Karapetsas <lefteris@refu.co> | 2015-02-20 00:43:53 +0800 |
commit | 0398ef109ced44fe9de90fd7cf68390fb780204c (patch) | |
tree | 198608770787371dc64bcf792c9a9aa3a88bbb37 | |
parent | 98739c362a9ca0d1410518d667956a406d63afa8 (diff) | |
download | dexon-solidity-0398ef109ced44fe9de90fd7cf68390fb780204c.tar dexon-solidity-0398ef109ced44fe9de90fd7cf68390fb780204c.tar.gz dexon-solidity-0398ef109ced44fe9de90fd7cf68390fb780204c.tar.bz2 dexon-solidity-0398ef109ced44fe9de90fd7cf68390fb780204c.tar.lz dexon-solidity-0398ef109ced44fe9de90fd7cf68390fb780204c.tar.xz dexon-solidity-0398ef109ced44fe9de90fd7cf68390fb780204c.tar.zst dexon-solidity-0398ef109ced44fe9de90fd7cf68390fb780204c.zip |
Bugfix for functions override
- Functions with byte array type parameters can now be safely
overriden. Parameter location is now set at the right place.
- Also made a test for the fix
-rw-r--r-- | SolidityNameAndTypeResolution.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/SolidityNameAndTypeResolution.cpp b/SolidityNameAndTypeResolution.cpp index bfef873c..da6c2a88 100644 --- a/SolidityNameAndTypeResolution.cpp +++ b/SolidityNameAndTypeResolution.cpp @@ -1163,6 +1163,19 @@ BOOST_AUTO_TEST_CASE(external_argument_delete) BOOST_CHECK_THROW(parseTextAndResolveNames(sourceCode), TypeError); } +BOOST_AUTO_TEST_CASE(test_for_bug_override_function_with_bytearray_type) +{ + char const* sourceCode = R"( + contract Vehicle { + function f(bytes _a) external returns (uint256 r) {r = 1;} + } + contract Bike is Vehicle { + function f(bytes _a) external returns (uint256 r) {r = 42;} + } + )"; + BOOST_CHECK_NO_THROW(parseTextAndResolveNamesWithChecks(sourceCode)); +} + BOOST_AUTO_TEST_SUITE_END() } |