diff options
author | chriseth <chris@ethereum.org> | 2017-04-21 17:13:10 +0800 |
---|---|---|
committer | chriseth <chris@ethereum.org> | 2017-04-21 17:36:38 +0800 |
commit | 9bc9fe6af7241479fe3099eae235452b054a6f11 (patch) | |
tree | 78cfc115c1c71b9bb59b55bc8bb99d25711bbd81 /libsolidity/analysis/StaticAnalyzer.cpp | |
parent | ed64c849f57b9aeed1eda4563f0d4340013420ef (diff) | |
download | dexon-solidity-9bc9fe6af7241479fe3099eae235452b054a6f11.tar.gz dexon-solidity-9bc9fe6af7241479fe3099eae235452b054a6f11.tar.zst dexon-solidity-9bc9fe6af7241479fe3099eae235452b054a6f11.zip |
Warn about side-effect free statements.
Diffstat (limited to 'libsolidity/analysis/StaticAnalyzer.cpp')
-rw-r--r-- | libsolidity/analysis/StaticAnalyzer.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libsolidity/analysis/StaticAnalyzer.cpp b/libsolidity/analysis/StaticAnalyzer.cpp index c39f874e..df7f6e88 100644 --- a/libsolidity/analysis/StaticAnalyzer.cpp +++ b/libsolidity/analysis/StaticAnalyzer.cpp @@ -57,6 +57,13 @@ void StaticAnalyzer::endVisit(FunctionDefinition const&) m_nonPayablePublic = false; } +bool StaticAnalyzer::visit(ExpressionStatement const& _statement) +{ + if (_statement.expression().annotation().isPure) + warning(_statement.location(), "Statement has no effects."); + return true; +} + bool StaticAnalyzer::visit(MemberAccess const& _memberAccess) { if (m_nonPayablePublic && !m_library) |