From a40c8cfb68f75c22c0082714d99e9c3a24a31051 Mon Sep 17 00:00:00 2001 From: Rhett Aultman Date: Fri, 14 Apr 2017 07:48:59 -0700 Subject: Warn on unused local variables Analyze functions for all local variables, parameters, and named return variables which are never used in the function, and issue a warning. --- libsolidity/analysis/StaticAnalyzer.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'libsolidity/analysis/StaticAnalyzer.h') diff --git a/libsolidity/analysis/StaticAnalyzer.h b/libsolidity/analysis/StaticAnalyzer.h index 84342322..134ff95a 100644 --- a/libsolidity/analysis/StaticAnalyzer.h +++ b/libsolidity/analysis/StaticAnalyzer.h @@ -61,6 +61,8 @@ private: virtual void endVisit(FunctionDefinition const& _function) override; virtual bool visit(ExpressionStatement const& _statement) override; + virtual bool visit(VariableDeclaration const& _variable) override; + virtual bool visit(Identifier const& _identifier) override; virtual bool visit(MemberAccess const& _memberAccess) override; @@ -71,6 +73,10 @@ private: /// Flag that indicates whether a public function does not contain the "payable" modifier. bool m_nonPayablePublic = false; + + std::map m_localVarUseCount; + + bool m_inFunction = false; }; } -- cgit v1.2.3