aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/interface/CompilerStack.h
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-03-05 19:10:49 +0800
committerGitHub <noreply@github.com>2018-03-05 19:10:49 +0800
commit6dc137317fa8249a9c1b19ff6430840974393f90 (patch)
tree2263fd97b42da5673b1dcce24ab4419ce8dc67b9 /libsolidity/interface/CompilerStack.h
parente3c2ab39a125e68aea07ba9c8cacb0a55293bf0d (diff)
parent6ec4517929e8c0eca022f4771ba217db5d80beed (diff)
downloaddexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar.gz
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar.bz2
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar.lz
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar.xz
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar.zst
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.zip
Merge pull request #3569 from ethereum/evmVersion
EVM version
Diffstat (limited to 'libsolidity/interface/CompilerStack.h')
-rw-r--r--libsolidity/interface/CompilerStack.h27
1 files changed, 18 insertions, 9 deletions
diff --git a/libsolidity/interface/CompilerStack.h b/libsolidity/interface/CompilerStack.h
index b377b3aa..13c9cc7a 100644
--- a/libsolidity/interface/CompilerStack.h
+++ b/libsolidity/interface/CompilerStack.h
@@ -23,20 +23,26 @@
#pragma once
+#include <libsolidity/interface/ErrorReporter.h>
+#include <libsolidity/interface/ReadFile.h>
+#include <libsolidity/interface/EVMVersion.h>
+
+#include <libevmasm/SourceLocation.h>
+#include <libevmasm/LinkerObject.h>
+
+#include <libdevcore/Common.h>
+#include <libdevcore/FixedHash.h>
+
+#include <json/json.h>
+
+#include <boost/noncopyable.hpp>
+#include <boost/filesystem.hpp>
+
#include <ostream>
#include <string>
#include <memory>
#include <vector>
#include <functional>
-#include <boost/noncopyable.hpp>
-#include <boost/filesystem.hpp>
-#include <json/json.h>
-#include <libdevcore/Common.h>
-#include <libdevcore/FixedHash.h>
-#include <libevmasm/SourceLocation.h>
-#include <libevmasm/LinkerObject.h>
-#include <libsolidity/interface/ErrorReporter.h>
-#include <libsolidity/interface/ReadFile.h>
namespace dev
{
@@ -116,6 +122,8 @@ public:
m_optimizeRuns = _runs;
}
+ void setEVMVersion(EVMVersion _version = EVMVersion{});
+
/// Sets the list of requested contract names. If empty, no filtering is performed and every contract
/// found in the supplied sources is compiled. Names are cleared iff @a _contractNames is missing.
void setRequestedContractNames(std::set<std::string> const& _contractNames = std::set<std::string>{})
@@ -310,6 +318,7 @@ private:
ReadCallback::Callback m_smtQuery;
bool m_optimize = false;
unsigned m_optimizeRuns = 200;
+ EVMVersion m_evmVersion;
std::set<std::string> m_requestedContractNames;
std::map<std::string, h160> m_libraries;
/// list of path prefix remappings, e.g. mylibrary: github.com/ethereum = /usr/local/ethereum