Util: Move vector<Token> ownership to Job class

This commit is contained in:
Riyyi
2022-06-26 23:13:25 +02:00
parent bc01b34e58
commit 8fb1a1a8e9
7 changed files with 58 additions and 34 deletions
+4 -7
View File
@@ -19,8 +19,9 @@
namespace Json {
Parser::Parser(std::shared_ptr<Job> job)
Parser::Parser(Job* job)
: m_job(job)
, m_tokens(m_job->tokens())
{
}
@@ -32,17 +33,13 @@ Parser::~Parser()
Value Parser::parse()
{
Lexer lexer(m_job);
lexer.analyze();
m_tokens = lexer.tokens();
printf("---------\n");
printf("Parsing:\n");
Value result;
Token token;
while (m_index < m_tokens.size()) {
while (m_index < m_tokens->size()) {
token = peek();
switch (token.type) {
@@ -92,7 +89,7 @@ Value Parser::parse()
Token Parser::peek()
{
return m_tokens[m_index];
return (*m_tokens)[m_index];
}
Token Parser::consume()