Cache lines in Lexer and show original input when running into an error

This commit is contained in:
Jan
2021-02-13 23:16:19 +01:00
parent 40fedc905d
commit 216125739c
19 changed files with 283 additions and 116 deletions

View File

@ -50,6 +50,12 @@ bool MockParserLineStream::IncludeFile(const std::string& filename)
return true;
}
void MockParserLineStream::PopCurrentFile()
{
if (!m_include_positions.empty())
m_include_positions.pop_back();
}
bool MockParserLineStream::IsOpen() const
{
return true;

View File

@ -30,6 +30,7 @@ public:
void AddIncludeLines(const std::string& filename, const std::vector<std::string>& lines);
ParserLine NextLine() override;
bool IncludeFile(const std::string& filename) override;
void PopCurrentFile() override;
_NODISCARD bool IsOpen() const override;
_NODISCARD bool Eof() const override;
};