diff options
author | CJentzsch <jentzsch.software@gmail.com> | 2015-06-06 21:20:58 +0800 |
---|---|---|
committer | CJentzsch <jentzsch.software@gmail.com> | 2015-06-06 21:20:58 +0800 |
commit | a1b2fa345a3fb1feaa0dc4b0e4d77ff9d56e0ccb (patch) | |
tree | 1fb744a684501d3cf3a2460d2666b9841492e77d /libsolidity/SolidityParser.cpp | |
parent | 441778c02da4eb94bfadc5bb90b18c2e4822b40c (diff) | |
parent | 187f5de2dd79b2868dc622aff4f44e65af2eabcc (diff) | |
download | dexon-solidity-a1b2fa345a3fb1feaa0dc4b0e4d77ff9d56e0ccb.tar dexon-solidity-a1b2fa345a3fb1feaa0dc4b0e4d77ff9d56e0ccb.tar.gz dexon-solidity-a1b2fa345a3fb1feaa0dc4b0e4d77ff9d56e0ccb.tar.bz2 dexon-solidity-a1b2fa345a3fb1feaa0dc4b0e4d77ff9d56e0ccb.tar.lz dexon-solidity-a1b2fa345a3fb1feaa0dc4b0e4d77ff9d56e0ccb.tar.xz dexon-solidity-a1b2fa345a3fb1feaa0dc4b0e4d77ff9d56e0ccb.tar.zst dexon-solidity-a1b2fa345a3fb1feaa0dc4b0e4d77ff9d56e0ccb.zip |
Merge remote-tracking branch 'upstream/develop' into addTests
Diffstat (limited to 'libsolidity/SolidityParser.cpp')
-rw-r--r-- | libsolidity/SolidityParser.cpp | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/libsolidity/SolidityParser.cpp b/libsolidity/SolidityParser.cpp index cad0e1f2..438e650b 100644 --- a/libsolidity/SolidityParser.cpp +++ b/libsolidity/SolidityParser.cpp @@ -873,6 +873,47 @@ BOOST_AUTO_TEST_CASE(var_array) BOOST_CHECK_THROW(parseText(text), ParserError); } +BOOST_AUTO_TEST_CASE(location_specifiers_for_params) +{ + char const* text = R"( + contract Foo { + function f(uint[] storage constant x, uint[] memory y) { } + } + )"; + BOOST_CHECK_NO_THROW(parseText(text)); +} + +BOOST_AUTO_TEST_CASE(location_specifiers_for_locals) +{ + char const* text = R"( + contract Foo { + function f() { + uint[] storage x; + uint[] memory y; + } + } + )"; + BOOST_CHECK_NO_THROW(parseText(text)); +} + +BOOST_AUTO_TEST_CASE(location_specifiers_for_state) +{ + char const* text = R"( + contract Foo { + uint[] memory x; + })"; + BOOST_CHECK_THROW(parseText(text), ParserError); +} + +BOOST_AUTO_TEST_CASE(location_specifiers_with_var) +{ + char const* text = R"( + contract Foo { + function f() { var memory x; } + })"; + BOOST_CHECK_THROW(parseText(text), ParserError); +} + BOOST_AUTO_TEST_SUITE_END() } |