aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-08-09 20:22:19 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-08-09 21:30:02 +0800
commita8ca623a0f852c738b8bb92b449894ecc73b44e1 (patch)
tree1e04501bd247dbbb5268f9db968c3c9ba2ce7d76
parenta4e39592c71b6b133fd702f7dafef234add4712c (diff)
downloaddexon-solidity-a8ca623a0f852c738b8bb92b449894ecc73b44e1.tar
dexon-solidity-a8ca623a0f852c738b8bb92b449894ecc73b44e1.tar.gz
dexon-solidity-a8ca623a0f852c738b8bb92b449894ecc73b44e1.tar.bz2
dexon-solidity-a8ca623a0f852c738b8bb92b449894ecc73b44e1.tar.lz
dexon-solidity-a8ca623a0f852c738b8bb92b449894ecc73b44e1.tar.xz
dexon-solidity-a8ca623a0f852c738b8bb92b449894ecc73b44e1.tar.zst
dexon-solidity-a8ca623a0f852c738b8bb92b449894ecc73b44e1.zip
Add test for multiple visibilites on functions
-rw-r--r--libsolidity/parsing/Parser.cpp2
-rw-r--r--test/libsolidity/SolidityParser.cpp7
2 files changed, 7 insertions, 2 deletions
diff --git a/libsolidity/parsing/Parser.cpp b/libsolidity/parsing/Parser.cpp
index bc004d14..d1f9c1fa 100644
--- a/libsolidity/parsing/Parser.cpp
+++ b/libsolidity/parsing/Parser.cpp
@@ -354,7 +354,7 @@ Parser::FunctionHeaderParserResult Parser::parseFunctionHeader(bool _forceEmptyN
{
if (result.visibility != Declaration::Visibility::Default)
{
- parserError(string("Multiple visibility specifiers."));
+ parserError(string("Visibility already specified."));
m_scanner->next();
}
else
diff --git a/test/libsolidity/SolidityParser.cpp b/test/libsolidity/SolidityParser.cpp
index 78edd4d1..d7ada518 100644
--- a/test/libsolidity/SolidityParser.cpp
+++ b/test/libsolidity/SolidityParser.cpp
@@ -898,7 +898,12 @@ BOOST_AUTO_TEST_CASE(multiple_visibility_specifiers)
contract c {
uint private internal a;
})";
- CHECK_PARSE_ERROR(text, "Visibility already specified");
+ CHECK_PARSE_ERROR(text, "Visibility already specified.");
+ text = R"(
+ contract c {
+ function f() private external {}
+ })";
+ CHECK_PARSE_ERROR(text, "Visibility already specified.");
}
BOOST_AUTO_TEST_CASE(multiple_payable_specifiers)