Added a flag to record when a source is reconstructed from JSON so garbage code snippets are not printed after source location.

This commit is contained in:
Matheus Aguiar
2022-07-05 11:41:24 -03:00
parent a53f15f45f
commit 290bd4fd2d
3 changed files with 14 additions and 2 deletions
+7
View File
@@ -73,9 +73,15 @@ public:
CharStream() = default;
CharStream(std::string _source, std::string _name):
m_source(std::move(_source)), m_name(std::move(_name)) {}
CharStream(std::string _source, std::string _name, bool _importedFromAST):
m_source(std::move(_source)),
m_name(std::move(_name)),
m_importedFromAST(_importedFromAST)
{ }
size_t position() const { return m_position; }
bool isPastEndOfInput(size_t _charsForward = 0) const { return (m_position + _charsForward) >= m_source.size(); }
bool isImportedFromAST() const { return m_importedFromAST; }
char get(size_t _charsForward = 0) const { return m_source[m_position + _charsForward]; }
char advanceAndGet(size_t _chars = 1);
@@ -138,6 +144,7 @@ public:
private:
std::string m_source;
std::string m_name;
bool m_importedFromAST{false};
size_t m_position{0};
};