aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis/StaticAnalyzer.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-04-21 17:13:10 +0800
committerchriseth <chris@ethereum.org>2017-04-21 17:36:38 +0800
commit9bc9fe6af7241479fe3099eae235452b054a6f11 (patch)
tree78cfc115c1c71b9bb59b55bc8bb99d25711bbd81 /libsolidity/analysis/StaticAnalyzer.cpp
parented64c849f57b9aeed1eda4563f0d4340013420ef (diff)
downloaddexon-solidity-9bc9fe6af7241479fe3099eae235452b054a6f11.tar
dexon-solidity-9bc9fe6af7241479fe3099eae235452b054a6f11.tar.gz
dexon-solidity-9bc9fe6af7241479fe3099eae235452b054a6f11.tar.bz2
dexon-solidity-9bc9fe6af7241479fe3099eae235452b054a6f11.tar.lz
dexon-solidity-9bc9fe6af7241479fe3099eae235452b054a6f11.tar.xz
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.cpp7
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)