diff options
author | chriseth <chris@ethereum.org> | 2017-09-15 00:44:03 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-09-15 00:44:03 +0800 |
commit | 934b0d2f0daf0a45fb686ec5073dbd288d27f769 (patch) | |
tree | 8f18501d9ecbc97af0fc86df0cb2dd7027144ad8 /libsolidity/analysis | |
parent | 1c85ba10e13879f680579031234c911099433596 (diff) | |
parent | 67f96652f5701b581efcda8585ab5e765aa68344 (diff) | |
download | dexon-solidity-934b0d2f0daf0a45fb686ec5073dbd288d27f769.tar dexon-solidity-934b0d2f0daf0a45fb686ec5073dbd288d27f769.tar.gz dexon-solidity-934b0d2f0daf0a45fb686ec5073dbd288d27f769.tar.bz2 dexon-solidity-934b0d2f0daf0a45fb686ec5073dbd288d27f769.tar.lz dexon-solidity-934b0d2f0daf0a45fb686ec5073dbd288d27f769.tar.xz dexon-solidity-934b0d2f0daf0a45fb686ec5073dbd288d27f769.tar.zst dexon-solidity-934b0d2f0daf0a45fb686ec5073dbd288d27f769.zip |
Merge pull request #2749 from ethereum/require-visibility
Warn if no visibility is specified on contract functions.
Diffstat (limited to 'libsolidity/analysis')
-rw-r--r-- | libsolidity/analysis/SyntaxChecker.cpp | 14 | ||||
-rw-r--r-- | libsolidity/analysis/SyntaxChecker.h | 1 |
2 files changed, 14 insertions, 1 deletions
diff --git a/libsolidity/analysis/SyntaxChecker.cpp b/libsolidity/analysis/SyntaxChecker.cpp index d2571cd3..187eb26f 100644 --- a/libsolidity/analysis/SyntaxChecker.cpp +++ b/libsolidity/analysis/SyntaxChecker.cpp @@ -138,7 +138,7 @@ bool SyntaxChecker::visit(WhileStatement const&) return true; } -void SyntaxChecker::endVisit(WhileStatement const& ) +void SyntaxChecker::endVisit(WhileStatement const&) { m_inLoopDepth--; } @@ -193,6 +193,18 @@ bool SyntaxChecker::visit(PlaceholderStatement const&) return true; } +bool SyntaxChecker::visit(FunctionDefinition const& _function) +{ + if (_function.noVisibilitySpecified()) + m_errorReporter.warning( + _function.location(), + "No visibility specified. Defaulting to \"" + + Declaration::visibilityToString(_function.visibility()) + + "\"." + ); + return true; +} + bool SyntaxChecker::visit(FunctionTypeName const& _node) { for (auto const& decl: _node.parameterTypeList()->parameters()) diff --git a/libsolidity/analysis/SyntaxChecker.h b/libsolidity/analysis/SyntaxChecker.h index fa34bab3..7fffbec0 100644 --- a/libsolidity/analysis/SyntaxChecker.h +++ b/libsolidity/analysis/SyntaxChecker.h @@ -66,6 +66,7 @@ private: virtual bool visit(PlaceholderStatement const& _placeholderStatement) override; + virtual bool visit(FunctionDefinition const& _function) override; virtual bool visit(FunctionTypeName const& _node) override; ErrorReporter& m_errorReporter; |