diff options
author | Lefteris Karapetsas <lefteris@refu.co> | 2015-02-13 20:32:18 +0800 |
---|---|---|
committer | Lefteris Karapetsas <lefteris@refu.co> | 2015-02-14 06:16:14 +0800 |
commit | 3dd00cbdd8cedfef9b8db4750a4ec3e712eb42cd (patch) | |
tree | d5348aa06472d0dd3be7d071b24f28ad317793d5 | |
parent | fe725fbb49ec661fb1c5e9c3f8b58bbf6dd9e0cb (diff) | |
download | dexon-solidity-3dd00cbdd8cedfef9b8db4750a4ec3e712eb42cd.tar.gz dexon-solidity-3dd00cbdd8cedfef9b8db4750a4ec3e712eb42cd.tar.zst dexon-solidity-3dd00cbdd8cedfef9b8db4750a4ec3e712eb42cd.zip |
Enum Value member access should now work properly
- Also detection of duplicate enum values and tests for them have been
added
-rw-r--r-- | SolidityNameAndTypeResolution.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/SolidityNameAndTypeResolution.cpp b/SolidityNameAndTypeResolution.cpp index 9399280b..e7482d66 100644 --- a/SolidityNameAndTypeResolution.cpp +++ b/SolidityNameAndTypeResolution.cpp @@ -1056,6 +1056,23 @@ BOOST_AUTO_TEST_CASE(enum_implicit_conversion_is_not_okay) BOOST_CHECK_THROW(parseTextAndResolveNames(text), TypeError); } +BOOST_AUTO_TEST_CASE(enum_duplicate_values) +{ + char const* text = R"( + contract test { + enum ActionChoices { GoLeft, GoRight, GoLeft, Sit }; + function test() + { + a = 1; + b = 2; + } + uint256 a; + uint64 b; + } + )"; + BOOST_CHECK_THROW(parseTextAndResolveNames(text), TypeError); +} + BOOST_AUTO_TEST_SUITE_END() } |