aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis/StaticAnalyzer.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-04-25 01:25:45 +0800
committerGitHub <noreply@github.com>2017-04-25 01:25:45 +0800
commit4d111e3366c9ddf15a750569baeed3fccb201682 (patch)
tree1f03eaffe028016a920d3ef9f699edf1ab177d8f /libsolidity/analysis/StaticAnalyzer.cpp
parent0b2a05c84d83b1f22acb4201d0792d7f7865d1f9 (diff)
parent9577f87dfcd2d8b532f698c0aa1e8f9c01bb0ba5 (diff)
downloaddexon-solidity-4d111e3366c9ddf15a750569baeed3fccb201682.tar.gz
dexon-solidity-4d111e3366c9ddf15a750569baeed3fccb201682.tar.zst
dexon-solidity-4d111e3366c9ddf15a750569baeed3fccb201682.zip
Merge pull request #2152 from ethereum/warnRevert
Warn about side-effect free statements.
Diffstat (limited to 'libsolidity/analysis/StaticAnalyzer.cpp')
-rw-r--r--libsolidity/analysis/StaticAnalyzer.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/libsolidity/analysis/StaticAnalyzer.cpp b/libsolidity/analysis/StaticAnalyzer.cpp
index c39f874e..190d2420 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 effect.");
+ return true;
+}
+
bool StaticAnalyzer::visit(MemberAccess const& _memberAccess)
{
if (m_nonPayablePublic && !m_library)