Avoid including Scanner.h in ParserBase.h

This commit is contained in:
Alex Beregszaszi 2017-05-29 15:05:12 +01:00
parent 08a5d144ac
commit 007ffe9430
3 changed files with 25 additions and 5 deletions

View File

@ -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>

View File

@ -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();

View File

@ -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