aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/interface/AssemblyStack.h
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-11-22 07:31:01 +0800
committerGitHub <noreply@github.com>2018-11-22 07:31:01 +0800
commitb5acc630089ba0e4c41cfb8548c82f157f9be6fc (patch)
tree9f95cd156ce58213c7412597568d096635c7d868 /libsolidity/interface/AssemblyStack.h
parent7d8c1fc53b1eb318bb0eb0896dfd6ab77a11eb6e (diff)
parentd67322a1861d60a88151f7c25d6c3478a9a39acf (diff)
downloaddexon-solidity-b5acc630089ba0e4c41cfb8548c82f157f9be6fc.tar
dexon-solidity-b5acc630089ba0e4c41cfb8548c82f157f9be6fc.tar.gz
dexon-solidity-b5acc630089ba0e4c41cfb8548c82f157f9be6fc.tar.bz2
dexon-solidity-b5acc630089ba0e4c41cfb8548c82f157f9be6fc.tar.lz
dexon-solidity-b5acc630089ba0e4c41cfb8548c82f157f9be6fc.tar.xz
dexon-solidity-b5acc630089ba0e4c41cfb8548c82f157f9be6fc.tar.zst
dexon-solidity-b5acc630089ba0e4c41cfb8548c82f157f9be6fc.zip
Merge pull request #5427 from ethereum/liblangutil
Factor out langutil, a new static library that is shared between libyul/libsolidity
Diffstat (limited to 'libsolidity/interface/AssemblyStack.h')
-rw-r--r--libsolidity/interface/AssemblyStack.h22
1 files changed, 13 insertions, 9 deletions
diff --git a/libsolidity/interface/AssemblyStack.h b/libsolidity/interface/AssemblyStack.h
index 8132ce63..d6ee33cf 100644
--- a/libsolidity/interface/AssemblyStack.h
+++ b/libsolidity/interface/AssemblyStack.h
@@ -21,19 +21,23 @@
#pragma once
-#include <libsolidity/interface/ErrorReporter.h>
-#include <libsolidity/interface/EVMVersion.h>
+#include <liblangutil/ErrorReporter.h>
+#include <liblangutil/EVMVersion.h>
#include <libevmasm/LinkerObject.h>
#include <string>
#include <memory>
+namespace langutil
+{
+class Scanner;
+}
+
namespace dev
{
namespace solidity
{
-class Scanner;
namespace assembly
{
struct AsmAnalysisInfo;
@@ -61,7 +65,7 @@ public:
{}
/// @returns the scanner used during parsing
- Scanner const& scanner() const;
+ langutil::Scanner const& scanner() const;
/// Runs parsing and analysis steps, returns false if input cannot be assembled.
/// Multiple calls overwrite the previous state.
@@ -69,13 +73,13 @@ public:
/// Runs analysis step on the supplied block, returns false if input cannot be assembled.
/// Multiple calls overwrite the previous state.
- bool analyze(assembly::Block const& _block, Scanner const* _scanner = nullptr);
+ bool analyze(assembly::Block const& _block, langutil::Scanner const* _scanner = nullptr);
/// Run the assembly step (should only be called after parseAndAnalyze).
MachineAssemblyObject assemble(Machine _machine) const;
/// @returns the errors generated during parsing, analysis (and potentially assembly).
- ErrorList const& errors() const { return m_errors; }
+ langutil::ErrorList const& errors() const { return m_errors; }
/// Pretty-print the input after having parsed it.
std::string print() const;
@@ -86,13 +90,13 @@ private:
Language m_language = Language::Assembly;
EVMVersion m_evmVersion;
- std::shared_ptr<Scanner> m_scanner;
+ std::shared_ptr<langutil::Scanner> m_scanner;
bool m_analysisSuccessful = false;
std::shared_ptr<assembly::Block> m_parserResult;
std::shared_ptr<assembly::AsmAnalysisInfo> m_analysisInfo;
- ErrorList m_errors;
- ErrorReporter m_errorReporter;
+ langutil::ErrorList m_errors;
+ langutil::ErrorReporter m_errorReporter;
};
}