aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/SolidityParser.cpp
diff options
context:
space:
mode:
authorCJentzsch <jentzsch.software@gmail.com>2015-06-06 21:20:58 +0800
committerCJentzsch <jentzsch.software@gmail.com>2015-06-06 21:20:58 +0800
commita1b2fa345a3fb1feaa0dc4b0e4d77ff9d56e0ccb (patch)
tree1fb744a684501d3cf3a2460d2666b9841492e77d /libsolidity/SolidityParser.cpp
parent441778c02da4eb94bfadc5bb90b18c2e4822b40c (diff)
parent187f5de2dd79b2868dc622aff4f44e65af2eabcc (diff)
downloaddexon-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.cpp41
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()
}