aboutsummaryrefslogtreecommitdiffstats
path: root/libevmasm/SimplificationRules.h
diff options
context:
space:
mode:
authorDaniel Kirchner <daniel@ekpyron.org>2018-09-14 21:49:55 +0800
committerchriseth <chris@ethereum.org>2018-09-18 20:28:21 +0800
commita1d73a7befd2f3d72c18d4cb539edab5111c681f (patch)
treebd440467d4d2f4d2c275b47f51057933cac2aaef /libevmasm/SimplificationRules.h
parent06ffcd0502c1c06788bec9b1e1e4db3f7c42ed4d (diff)
downloaddexon-solidity-a1d73a7befd2f3d72c18d4cb539edab5111c681f.tar.gz
dexon-solidity-a1d73a7befd2f3d72c18d4cb539edab5111c681f.tar.zst
dexon-solidity-a1d73a7befd2f3d72c18d4cb539edab5111c681f.zip
Split simplification rules into two functions.
Diffstat (limited to 'libevmasm/SimplificationRules.h')
-rw-r--r--libevmasm/SimplificationRules.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/libevmasm/SimplificationRules.h b/libevmasm/SimplificationRules.h
index 53f7e595..fbe5a2b0 100644
--- a/libevmasm/SimplificationRules.h
+++ b/libevmasm/SimplificationRules.h
@@ -26,6 +26,8 @@
#include <libevmasm/ExpressionClasses.h>
#include <libevmasm/SimplificationRule.h>
+#include <boost/noncopyable.hpp>
+
#include <functional>
#include <vector>
@@ -53,6 +55,10 @@ public:
ExpressionClasses const& _classes
);
+ /// Checks whether the rulelist is non-empty. This is usually enforced
+ /// by the constructor, but we had some issues with static initialization.
+ bool isInitialized() const;
+
private:
void addRules(std::vector<SimplificationRule<Pattern>> const& _rules);
void addRule(SimplificationRule<Pattern> const& _rule);