From 9bc9fe6af7241479fe3099eae235452b054a6f11 Mon Sep 17 00:00:00 2001 From: chriseth Date: Fri, 21 Apr 2017 11:13:10 +0200 Subject: Warn about side-effect free statements. --- libsolidity/analysis/StaticAnalyzer.cpp | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'libsolidity/analysis/StaticAnalyzer.cpp') 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) -- cgit v1.2.3