aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/inlineasm/AsmParser.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/inlineasm/AsmParser.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/inlineasm/AsmParser.h')
-rw-r--r--libsolidity/inlineasm/AsmParser.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/libsolidity/inlineasm/AsmParser.h b/libsolidity/inlineasm/AsmParser.h
index 41117228..9e13799a 100644
--- a/libsolidity/inlineasm/AsmParser.h
+++ b/libsolidity/inlineasm/AsmParser.h
@@ -25,7 +25,9 @@
#include <memory>
#include <vector>
#include <libsolidity/inlineasm/AsmData.h>
-#include <libsolidity/parsing/ParserBase.h>
+#include <liblangutil/SourceLocation.h>
+#include <liblangutil/Scanner.h>
+#include <liblangutil/ParserBase.h>
namespace dev
{
@@ -34,22 +36,22 @@ namespace solidity
namespace assembly
{
-class Parser: public ParserBase
+class Parser: public langutil::ParserBase
{
public:
- explicit Parser(ErrorReporter& _errorReporter, AsmFlavour _flavour = AsmFlavour::Loose):
+ explicit Parser(langutil::ErrorReporter& _errorReporter, AsmFlavour _flavour = AsmFlavour::Loose):
ParserBase(_errorReporter), m_flavour(_flavour) {}
/// Parses an inline assembly block starting with `{` and ending with `}`.
/// @param _reuseScanner if true, do check for end of input after the `}`.
/// @returns an empty shared pointer on error.
- std::shared_ptr<Block> parse(std::shared_ptr<Scanner> const& _scanner, bool _reuseScanner);
+ std::shared_ptr<Block> parse(std::shared_ptr<langutil::Scanner> const& _scanner, bool _reuseScanner);
protected:
using ElementaryOperation = boost::variant<assembly::Instruction, assembly::Literal, assembly::Identifier>;
/// Creates an inline assembly node with the given source location.
- template <class T> T createWithLocation(SourceLocation const& _loc = SourceLocation()) const
+ template <class T> T createWithLocation(langutil::SourceLocation const& _loc = {}) const
{
T r;
r.location = _loc;
@@ -62,7 +64,7 @@ protected:
r.location.sourceName = sourceName();
return r;
}
- SourceLocation location() const { return SourceLocation(position(), endPosition(), sourceName()); }
+ langutil::SourceLocation location() const { return {position(), endPosition(), sourceName()}; }
Block parseBlock();
Statement parseStatement();