From 644de755dc480e97879ba9fd70684d09b275c6cc Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Tue, 18 Jul 2017 22:58:48 +0100 Subject: [PATCH] Mark modifiers as internal --- Changelog.md | 1 + libsolidity/ast/AST.h | 2 +- test/libsolidity/SolidityNameAndTypeResolution.cpp | 14 ++++++++++++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/Changelog.md b/Changelog.md index f43897a25..91ec7d0ee 100644 --- a/Changelog.md +++ b/Changelog.md @@ -10,6 +10,7 @@ Features: Bugfixes: * Type Checker: Fix invalid "specify storage keyword" warning for reference members of structs. + * Type Checker: Mark modifiers as internal. ### 0.4.13 (2017-07-06) diff --git a/libsolidity/ast/AST.h b/libsolidity/ast/AST.h index cde14ea09..81ddc754b 100644 --- a/libsolidity/ast/AST.h +++ b/libsolidity/ast/AST.h @@ -704,7 +704,7 @@ public: ASTPointer const& _parameters, ASTPointer const& _body ): - CallableDeclaration(_location, _name, Visibility::Default, _parameters), + CallableDeclaration(_location, _name, Visibility::Internal, _parameters), Documented(_documentation), m_body(_body) { diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp index cb39101e1..649e7970e 100644 --- a/test/libsolidity/SolidityNameAndTypeResolution.cpp +++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp @@ -6359,6 +6359,20 @@ BOOST_AUTO_TEST_CASE(explicit_literal_to_storage_string) CHECK_ERROR(text, TypeError, "Explicit type conversion not allowed from \"literal_string \"abc\"\" to \"string storage pointer\""); } +BOOST_AUTO_TEST_CASE(modifiers_access_storage_pointer) +{ + char const* text = R"( + contract C { + struct S { } + modifier m(S storage x) { + x; + _; + } + } + )"; + CHECK_SUCCESS_NO_WARNINGS(text); +} + BOOST_AUTO_TEST_SUITE_END() }