aboutsummaryrefslogtreecommitdiffstats
path: root/SolidityNameAndTypeResolution.cpp
diff options
context:
space:
mode:
authorLiana Husikyan <liana@ethdev.com>2015-03-03 19:58:01 +0800
committerLiana Husikyan <liana@ethdev.com>2015-03-16 17:46:46 +0800
commit2ca23b224749ecf709359f04296dfee1f8c5a6d9 (patch)
tree81584b9afb112fd7ce79777e3b5300e0d4dd825d /SolidityNameAndTypeResolution.cpp
parent45155d3c820a150d4222f7525fe5cc9bd3d55a5f (diff)
downloaddexon-solidity-2ca23b224749ecf709359f04296dfee1f8c5a6d9.tar
dexon-solidity-2ca23b224749ecf709359f04296dfee1f8c5a6d9.tar.gz
dexon-solidity-2ca23b224749ecf709359f04296dfee1f8c5a6d9.tar.bz2
dexon-solidity-2ca23b224749ecf709359f04296dfee1f8c5a6d9.tar.lz
dexon-solidity-2ca23b224749ecf709359f04296dfee1f8c5a6d9.tar.xz
dexon-solidity-2ca23b224749ecf709359f04296dfee1f8c5a6d9.tar.zst
dexon-solidity-2ca23b224749ecf709359f04296dfee1f8c5a6d9.zip
added parsing for constant variables
Diffstat (limited to 'SolidityNameAndTypeResolution.cpp')
-rw-r--r--SolidityNameAndTypeResolution.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/SolidityNameAndTypeResolution.cpp b/SolidityNameAndTypeResolution.cpp
index a310800f..cc570ac8 100644
--- a/SolidityNameAndTypeResolution.cpp
+++ b/SolidityNameAndTypeResolution.cpp
@@ -1404,6 +1404,26 @@ BOOST_AUTO_TEST_CASE(test_byte_is_alias_of_byte1)
ETH_TEST_REQUIRE_NO_THROW(parseTextAndResolveNames(text), "Type resolving failed");
}
+BOOST_AUTO_TEST_CASE(constant_function_editing_state_variable)
+{
+ char const* text = R"(
+ contract Foo {
+ uint x = 56;
+ function editIt() constant { x = 2; }
+ })";
+ BOOST_CHECK_THROW(parseTextAndResolveNames(text), TypeError);
+}
+
+BOOST_AUTO_TEST_CASE(constant_function_editing_const_state_variable)
+{
+ char const* text = R"(
+ contract Foo {
+ constant uint x = 56;
+ function editIt() constant { x = 2; }
+ })";
+ BOOST_CHECK_THROW(parseTextAndResolveNames(text), TypeError);
+}
+
BOOST_AUTO_TEST_SUITE_END()
}