aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/interface
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2017-05-24 01:21:14 +0800
committerchriseth <chris@ethereum.org>2017-05-26 21:08:27 +0800
commit261731f7eea48902983c55163d377e26bbca07da (patch)
tree42b1c3c91e36fad0b5a35232ffca0fa0687c9090 /libsolidity/interface
parent71b923cc36d33bf3e173f2210b33895df49fcbba (diff)
downloaddexon-solidity-261731f7eea48902983c55163d377e26bbca07da.tar
dexon-solidity-261731f7eea48902983c55163d377e26bbca07da.tar.gz
dexon-solidity-261731f7eea48902983c55163d377e26bbca07da.tar.bz2
dexon-solidity-261731f7eea48902983c55163d377e26bbca07da.tar.lz
dexon-solidity-261731f7eea48902983c55163d377e26bbca07da.tar.xz
dexon-solidity-261731f7eea48902983c55163d377e26bbca07da.tar.zst
dexon-solidity-261731f7eea48902983c55163d377e26bbca07da.zip
Adapt EVM codegen to new namespace.
Diffstat (limited to 'libsolidity/interface')
-rw-r--r--libsolidity/interface/AssemblyStack.cpp (renamed from libsolidity/interface/MultiBackendAssemblyStack.cpp)16
-rw-r--r--libsolidity/interface/AssemblyStack.h (renamed from libsolidity/interface/MultiBackendAssemblyStack.h)14
2 files changed, 14 insertions, 16 deletions
diff --git a/libsolidity/interface/MultiBackendAssemblyStack.cpp b/libsolidity/interface/AssemblyStack.cpp
index cf16b627..c4bd63c4 100644
--- a/libsolidity/interface/MultiBackendAssemblyStack.cpp
+++ b/libsolidity/interface/AssemblyStack.cpp
@@ -20,7 +20,7 @@
*/
-#include <libsolidity/interface/MultiBackendAssemblyStack.h>
+#include <libsolidity/interface/AssemblyStack.h>
#include <libsolidity/parsing/Scanner.h>
#include <libsolidity/inlineasm/AsmPrinter.h>
@@ -35,17 +35,17 @@ using namespace dev;
using namespace dev::solidity;
-Scanner const& MultiBackendAssemblyStack::scanner() const
+Scanner const& AssemblyStack::scanner() const
{
solAssert(m_scanner, "");
return *m_scanner;
}
-bool MultiBackendAssemblyStack::parseAndAnalyze(std::string const& _sourceName, std::string const& _source)
+bool AssemblyStack::parseAndAnalyze(std::string const& _sourceName, std::string const& _source)
{
m_analysisSuccessful = false;
m_scanner = make_shared<Scanner>(CharStream(_source), _sourceName);
- m_parserResult = assembly::Parser(m_errors, m_input == Input::JULIA).parse(m_scanner);
+ m_parserResult = assembly::Parser(m_errors, m_language == Language::JULIA).parse(m_scanner);
if (!m_errors.empty())
return false;
solAssert(m_parserResult, "");
@@ -56,13 +56,13 @@ bool MultiBackendAssemblyStack::parseAndAnalyze(std::string const& _sourceName,
return m_analysisSuccessful;
}
-eth::LinkerObject MultiBackendAssemblyStack::assemble()
+eth::LinkerObject AssemblyStack::assemble(Machine _machine)
{
solAssert(m_analysisSuccessful, "");
solAssert(m_parserResult, "");
solAssert(m_analysisInfo, "");
- switch (m_targetMachine)
+ switch (_machine)
{
case Machine::EVM:
{
@@ -78,8 +78,8 @@ eth::LinkerObject MultiBackendAssemblyStack::assemble()
return eth::LinkerObject();
}
-string MultiBackendAssemblyStack::print()
+string AssemblyStack::print()
{
solAssert(m_parserResult, "");
- return assembly::AsmPrinter(m_input == Input::JULIA)(*m_parserResult);
+ return assembly::AsmPrinter(m_language == Language::JULIA)(*m_parserResult);
}
diff --git a/libsolidity/interface/MultiBackendAssemblyStack.h b/libsolidity/interface/AssemblyStack.h
index fed9e8f9..4aba4846 100644
--- a/libsolidity/interface/MultiBackendAssemblyStack.h
+++ b/libsolidity/interface/AssemblyStack.h
@@ -43,15 +43,14 @@ struct Block;
* Full assembly stack that can support EVM-assembly and JULIA as input and EVM, EVM1.5 and
* eWasm as output.
*/
-class MultiBackendAssemblyStack
+class AssemblyStack
{
public:
- enum class Input { JULIA, Assembly };
+ enum class Language { JULIA, Assembly };
enum class Machine { EVM, EVM15, eWasm };
- MultiBackendAssemblyStack(Input _input = Input::Assembly, Machine _targetMachine = Machine::EVM):
- m_input(_input),
- m_targetMachine(_targetMachine)
+ explicit AssemblyStack(Language _language = Language::Assembly):
+ m_language(_language)
{}
/// @returns the scanner used during parsing
@@ -61,7 +60,7 @@ public:
bool parseAndAnalyze(std::string const& _sourceName, std::string const& _source);
/// Run the assembly step (should only be called after parseAndAnalyze).
- eth::LinkerObject assemble();
+ eth::LinkerObject assemble(Machine _machine);
ErrorList const& errors() const { return m_errors; }
@@ -70,8 +69,7 @@ public:
private:
- Input m_input = Input::Assembly;
- Machine m_targetMachine = Machine::EVM;
+ Language m_language = Language::Assembly;
std::shared_ptr<Scanner> m_scanner;