aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlex Beregszaszi <alex@rtfs.hu>2017-05-29 22:05:12 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-06-23 05:22:19 +0800
commit007ffe94309f1a8b39da78bbbfe922de41be1f55 (patch)
tree64cbd32cbe8b94fafb2e8f8db8604f37820d3dbe
parent08a5d144ace9392b31a33fd2f051feb7777b93be (diff)
downloaddexon-solidity-007ffe94309f1a8b39da78bbbfe922de41be1f55.tar
dexon-solidity-007ffe94309f1a8b39da78bbbfe922de41be1f55.tar.gz
dexon-solidity-007ffe94309f1a8b39da78bbbfe922de41be1f55.tar.bz2
dexon-solidity-007ffe94309f1a8b39da78bbbfe922de41be1f55.tar.lz
dexon-solidity-007ffe94309f1a8b39da78bbbfe922de41be1f55.tar.xz
dexon-solidity-007ffe94309f1a8b39da78bbbfe922de41be1f55.tar.zst
dexon-solidity-007ffe94309f1a8b39da78bbbfe922de41be1f55.zip
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