aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/analysis/StaticAnalyzer.h
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-08-07 21:44:35 +0800
committerchriseth <chris@ethereum.org>2017-08-12 02:57:57 +0800
commitda3ac8640328c15872630d5d86976f17480f9492 (patch)
tree8e2134191c50dd31657b3c78b1d4bc7166ae4a11 /libsolidity/analysis/StaticAnalyzer.h
parentd968912a4ce89a40d7d03bf0748a07c397662f68 (diff)
downloaddexon-solidity-da3ac8640328c15872630d5d86976f17480f9492.tar.gz
dexon-solidity-da3ac8640328c15872630d5d86976f17480f9492.tar.zst
dexon-solidity-da3ac8640328c15872630d5d86976f17480f9492.zip
Warn about large storage structures.
Diffstat (limited to 'libsolidity/analysis/StaticAnalyzer.h')
-rw-r--r--libsolidity/analysis/StaticAnalyzer.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/libsolidity/analysis/StaticAnalyzer.h b/libsolidity/analysis/StaticAnalyzer.h
index 21a487df..a3080b42 100644
--- a/libsolidity/analysis/StaticAnalyzer.h
+++ b/libsolidity/analysis/StaticAnalyzer.h
@@ -65,6 +65,9 @@ private:
virtual bool visit(MemberAccess const& _memberAccess) override;
virtual bool visit(InlineAssembly const& _inlineAssembly) override;
+ /// @returns the size of this type in storage, including all sub-types.
+ static bigint structureSizeEstimate(Type const& _type, std::set<StructDefinition const*>& _structsSeen);
+
ErrorReporter& m_errorReporter;
/// Flag that indicates whether the current contract definition is a library.