aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-06-23 07:14:18 +0800
committerGitHub <noreply@github.com>2017-06-23 07:14:18 +0800
commitf9144ae5a4835ea878f44aa0cd54ad2e524864eb (patch)
tree04643fbf280c1d822a21d065d7a005780b62350d
parent79ed529b3fc9fb03460ad3c8e6f1cb05434358b4 (diff)
parent007ffe94309f1a8b39da78bbbfe922de41be1f55 (diff)
downloaddexon-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.cpp1
-rw-r--r--libsolidity/parsing/ParserBase.cpp20
-rw-r--r--libsolidity/parsing/ParserBase.h9
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