diff options
author | chriseth <chris@ethereum.org> | 2018-11-22 07:31:01 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-22 07:31:01 +0800 |
commit | b5acc630089ba0e4c41cfb8548c82f157f9be6fc (patch) | |
tree | 9f95cd156ce58213c7412597568d096635c7d868 /libsolidity/interface/AssemblyStack.h | |
parent | 7d8c1fc53b1eb318bb0eb0896dfd6ab77a11eb6e (diff) | |
parent | d67322a1861d60a88151f7c25d6c3478a9a39acf (diff) | |
download | dexon-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.h | 22 |
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; }; } |