aboutsummaryrefslogtreecommitdiffstats
path: root/SolidityParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'SolidityParser.cpp')
-rw-r--r--SolidityParser.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/SolidityParser.cpp b/SolidityParser.cpp
index 75eba8bc..28221cc6 100644
--- a/SolidityParser.cpp
+++ b/SolidityParser.cpp
@@ -367,6 +367,40 @@ BOOST_AUTO_TEST_CASE(variable_definition_with_initialization)
BOOST_CHECK_NO_THROW(parseText(text));
}
+BOOST_AUTO_TEST_CASE(variable_definition_in_function_parameter)
+{
+ char const* text = R"(
+ contract test {
+ function fun(var a) {}
+ }
+ )";
+ BOOST_CHECK_THROW(parseText(text), ParserError);
+}
+
+BOOST_AUTO_TEST_CASE(variable_definition_in_mapping)
+{
+ char const* text = R"(
+ contract test {
+ function fun() {
+ mapping(var=>hash) d;
+ }
+ }
+ )";
+ BOOST_CHECK_THROW(parseText(text), ParserError);
+}
+
+BOOST_AUTO_TEST_CASE(variable_definition_in_function_return)
+{
+ char const* text = R"(
+ contract test {
+ function fun() returns(var d) {
+ return 1;
+ }
+ }
+ )";
+ BOOST_CHECK_THROW(parseText(text), ParserError);
+}
+
BOOST_AUTO_TEST_CASE(operator_expression)
{
char const* text = "contract test {\n"