aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLefteris Karapetsas <lefteris@refu.co>2015-02-20 00:43:53 +0800
committerLefteris Karapetsas <lefteris@refu.co>2015-02-20 00:43:53 +0800
commit0398ef109ced44fe9de90fd7cf68390fb780204c (patch)
tree198608770787371dc64bcf792c9a9aa3a88bbb37
parent98739c362a9ca0d1410518d667956a406d63afa8 (diff)
downloaddexon-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.cpp13
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()
}