Merge pull request #6071 from ethereum/moveEVMVersionToEVMDialect

Make EVM version part of EVM dialect.
This commit is contained in:
chriseth
2019-02-25 11:56:53 +01:00
committed by GitHub
20 changed files with 51 additions and 48 deletions
+1 -1
View File
@@ -46,7 +46,7 @@ namespace
{
shared_ptr<Dialect> defaultDialect(bool _yul)
{
return _yul ? yul::Dialect::yul() : yul::EVMDialect::strictAssemblyForEVM();
return _yul ? yul::Dialect::yul() : yul::EVMDialect::strictAssemblyForEVM(dev::test::Options::get().evmVersion());
}
}
+1 -1
View File
@@ -39,7 +39,7 @@ string check(string const& _input)
{
shared_ptr<Block> ast = yul::test::parse(_input, false).first;
BOOST_REQUIRE(ast);
map<YulString, int> functions = CompilabilityChecker::run(EVMDialect::strictAssemblyForEVM(), *ast);
map<YulString, int> functions = CompilabilityChecker::run(EVMDialect::strictAssemblyForEVM(dev::test::Options::get().evmVersion()), *ast);
string out;
for (auto const& function: functions)
out += function.first.str() + ": " + to_string(function.second) + " ";
-1
View File
@@ -61,7 +61,6 @@ bool parse(string const& _source, std::shared_ptr<Dialect> _dialect, ErrorReport
return (yul::AsmAnalyzer(
analysisInfo,
errorReporter,
dev::test::Options::get().evmVersion(),
boost::none,
_dialect
)).analyze(*parserResult);
+1 -1
View File
@@ -300,7 +300,7 @@ bool YulOptimizerTest::parse(ostream& _stream, string const& _linePrefix, bool c
printErrors(_stream, stack.errors());
return false;
}
m_dialect = m_yul ? Dialect::yul() : EVMDialect::strictAssemblyForEVMObjects();
m_dialect = m_yul ? Dialect::yul() : EVMDialect::strictAssemblyForEVMObjects(dev::test::Options::get().evmVersion());
m_ast = stack.parserResult()->code;
m_analysisInfo = stack.parserResult()->analysisInfo;
return true;
+1 -2
View File
@@ -99,7 +99,6 @@ public:
AsmAnalyzer analyzer(
*m_analysisInfo,
errorReporter,
EVMVersion::byzantium(),
langutil::Error::Type::SyntaxError,
m_dialect
);
@@ -207,7 +206,7 @@ public:
private:
ErrorList m_errors;
shared_ptr<yul::Block> m_ast;
shared_ptr<Dialect> m_dialect{EVMDialect::strictAssemblyForEVMObjects()};
shared_ptr<Dialect> m_dialect{EVMDialect::strictAssemblyForEVMObjects(EVMVersion::constantinople())};
shared_ptr<AsmAnalysisInfo> m_analysisInfo;
shared_ptr<NameDispenser> m_nameDispenser;
};