diff options
author | Alex Beregszaszi <alex@rtfs.hu> | 2017-06-23 07:14:18 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-23 07:14:18 +0800 |
commit | f9144ae5a4835ea878f44aa0cd54ad2e524864eb (patch) | |
tree | 04643fbf280c1d822a21d065d7a005780b62350d | |
parent | 79ed529b3fc9fb03460ad3c8e6f1cb05434358b4 (diff) | |
parent | 007ffe94309f1a8b39da78bbbfe922de41be1f55 (diff) | |
download | dexon-solidity-f9144ae5a4835ea878f44aa0cd54ad2e524864eb.tar.gz dexon-solidity-f9144ae5a4835ea878f44aa0cd54ad2e524864eb.tar.zst dexon-solidity-f9144ae5a4835ea878f44aa0cd54ad2e524864eb.zip |
Merge pull request #2444 from ethereum/parser-scanner
Avoid including Scanner.h in ParserBase.h
-rw-r--r-- | libsolidity/codegen/CompilerContext.cpp | 1 | ||||
-rw-r--r-- | libsolidity/parsing/ParserBase.cpp | 20 | ||||
-rw-r--r-- | libsolidity/parsing/ParserBase.h | 9 |
3 files changed, 25 insertions, 5 deletions
diff --git a/libsolidity/codegen/CompilerContext.cpp b/libsolidity/codegen/CompilerContext.cpp index d98efcad..9d0d6d37 100644 --- a/libsolidity/codegen/CompilerContext.cpp +++ b/libsolidity/codegen/CompilerContext.cpp @@ -26,6 +26,7 @@ #include <libsolidity/codegen/Compiler.h> #include <libsolidity/interface/Version.h> #include <libsolidity/interface/ErrorReporter.h> +#include <libsolidity/parsing/Scanner.h> #include <libsolidity/inlineasm/AsmParser.h> #include <libsolidity/inlineasm/AsmCodeGen.h> #include <libsolidity/inlineasm/AsmAnalysis.h> diff --git a/libsolidity/parsing/ParserBase.cpp b/libsolidity/parsing/ParserBase.cpp index 9987b82c..5657c2c0 100644 --- a/libsolidity/parsing/ParserBase.cpp +++ b/libsolidity/parsing/ParserBase.cpp @@ -43,6 +43,26 @@ int ParserBase::endPosition() const return m_scanner->currentLocation().end; } +Token::Value ParserBase::currentToken() const +{ + return m_scanner->currentToken(); +} + +Token::Value ParserBase::peekNextToken() const +{ + return m_scanner->peekNextToken(); +} + +std::string ParserBase::currentLiteral() const +{ + return m_scanner->currentLiteral(); +} + +Token::Value ParserBase::advance() +{ + return m_scanner->next(); +} + void ParserBase::expectToken(Token::Value _value) { Token::Value tok = m_scanner->currentToken(); diff --git a/libsolidity/parsing/ParserBase.h b/libsolidity/parsing/ParserBase.h index ae56cead..5b03ab5e 100644 --- a/libsolidity/parsing/ParserBase.h +++ b/libsolidity/parsing/ParserBase.h @@ -23,7 +23,6 @@ #pragma once #include <memory> -#include <libsolidity/parsing/Scanner.h> #include <libsolidity/parsing/Token.h> namespace dev @@ -51,10 +50,10 @@ protected: ///@name Helper functions /// If current token value is not _value, throw exception otherwise advance token. void expectToken(Token::Value _value); - Token::Value currentToken() const { return m_scanner->currentToken(); } - Token::Value peekNextToken() const { return m_scanner->peekNextToken(); } - std::string currentLiteral() const { return m_scanner->currentLiteral(); } - Token::Value advance() { return m_scanner->next(); } + Token::Value currentToken() const; + Token::Value peekNextToken() const; + std::string currentLiteral() const; + Token::Value advance(); ///@} /// Creates a @ref ParserError and annotates it with the current position and the |