Adapet uses of AssemblyStack.

This commit is contained in:
chriseth
2019-02-13 12:23:07 +01:00
parent d073eb1544
commit 0bd049c849
8 changed files with 71 additions and 76 deletions
+8 -3
View File
@@ -22,11 +22,15 @@
#include <test/Options.h>
#include <libsolidity/interface/AssemblyStack.h>
#include <test/libsolidity/ErrorCheck.h>
#include <libsolidity/ast/AST.h>
#include <libyul/AssemblyStack.h>
#include <liblangutil/Scanner.h>
#include <liblangutil/Exceptions.h>
#include <libsolidity/ast/AST.h>
#include <test/libsolidity/ErrorCheck.h>
#include <libevmasm/Assembly.h>
#include <boost/optional.hpp>
@@ -37,6 +41,7 @@
using namespace std;
using namespace langutil;
using namespace yul;
namespace dev
{
+1 -1
View File
@@ -19,7 +19,7 @@
#include <libdevcore/AnsiColorized.h>
#include <libsolidity/interface/AssemblyStack.h>
#include <libyul/AssemblyStack.h>
#include <libevmasm/Instruction.h>
+6 -9
View File
@@ -23,7 +23,7 @@
#include <test/libsolidity/ErrorCheck.h>
#include <libsolidity/interface/AssemblyStack.h>
#include <libyul/AssemblyStack.h>
#include <boost/optional.hpp>
#include <boost/algorithm/string/replace.hpp>
@@ -34,8 +34,6 @@
using namespace std;
using namespace langutil;
namespace dev
{
namespace yul
{
namespace test
@@ -48,9 +46,9 @@ std::pair<bool, ErrorList> parse(string const& _source)
{
try
{
solidity::AssemblyStack asmStack(
AssemblyStack asmStack(
dev::test::Options::get().evmVersion(),
solidity::AssemblyStack::Language::StrictAssembly
AssemblyStack::Language::StrictAssembly
);
bool success = asmStack.parseAndAnalyze("source", _source);
return {success, asmStack.errors()};
@@ -107,7 +105,7 @@ do \
{ \
Error err = expectError((text), false); \
BOOST_CHECK(err.type() == (Error::Type::typ)); \
BOOST_CHECK(solidity::searchErrorMessage(err, (substring))); \
BOOST_CHECK(dev::solidity::searchErrorMessage(err, (substring))); \
} while(0)
BOOST_AUTO_TEST_SUITE(YulObjectParser)
@@ -242,9 +240,9 @@ BOOST_AUTO_TEST_CASE(to_string)
}
)";
expectation = boost::replace_all_copy(expectation, "\t", " ");
solidity::AssemblyStack asmStack(
AssemblyStack asmStack(
dev::test::Options::get().evmVersion(),
solidity::AssemblyStack::Language::StrictAssembly
AssemblyStack::Language::StrictAssembly
);
BOOST_REQUIRE(asmStack.parseAndAnalyze("source", code));
BOOST_CHECK_EQUAL(asmStack.print(), expectation);
@@ -284,4 +282,3 @@ BOOST_AUTO_TEST_SUITE_END()
}
}
} // end namespaces
+3 -6
View File
@@ -20,13 +20,11 @@
#include <test/Options.h>
#include <libsolidity/interface/AssemblyStack.h>
#include <libyul/AssemblyStack.h>
#include <libevmasm/Instruction.h>
using namespace std;
namespace dev
{
namespace yul
{
namespace test
@@ -36,9 +34,9 @@ namespace
{
string assemble(string const& _input)
{
solidity::AssemblyStack asmStack;
AssemblyStack asmStack;
BOOST_REQUIRE_MESSAGE(asmStack.parseAndAnalyze("", _input), "Source did not parse: " + _input);
return solidity::disassemble(asmStack.assemble(solidity::AssemblyStack::Machine::EVM, true).bytecode->bytecode);
return dev::solidity::disassemble(asmStack.assemble(AssemblyStack::Machine::EVM, true).bytecode->bytecode);
}
}
@@ -350,4 +348,3 @@ BOOST_AUTO_TEST_SUITE_END()
}
}
}