diff options
author | Liana Husikyan <liana@ethdev.com> | 2015-03-03 19:58:01 +0800 |
---|---|---|
committer | Liana Husikyan <liana@ethdev.com> | 2015-03-16 17:46:46 +0800 |
commit | 2ca23b224749ecf709359f04296dfee1f8c5a6d9 (patch) | |
tree | 81584b9afb112fd7ce79777e3b5300e0d4dd825d /SolidityNameAndTypeResolution.cpp | |
parent | 45155d3c820a150d4222f7525fe5cc9bd3d55a5f (diff) | |
download | dexon-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.cpp | 20 |
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() } |