Fixes empty script returning segmentation fault
This commit is contained in:
@@ -16,7 +16,11 @@ namespace Porygon::Parser {
|
||||
}
|
||||
statements.push_back(this->ParseStatement(next));
|
||||
}
|
||||
return new ParsedScriptStatement(statements);
|
||||
auto end = 0;
|
||||
if (statements.size() > 0){
|
||||
end = statements.back()->GetEndPosition();
|
||||
}
|
||||
return new ParsedScriptStatement(statements, 0, end);
|
||||
}
|
||||
|
||||
inline const Token *Parser::Peek() {
|
||||
@@ -123,7 +127,11 @@ namespace Porygon::Parser {
|
||||
if (statements.empty()) {
|
||||
return new ParsedBlockStatement(statements, start);
|
||||
}
|
||||
return new ParsedBlockStatement(statements);
|
||||
auto end = 0;
|
||||
if (statements.size() > 0){
|
||||
end = statements.back()->GetEndPosition();
|
||||
}
|
||||
return new ParsedBlockStatement(statements, start, end - start);
|
||||
}
|
||||
|
||||
ParsedStatement *Parser::ParseFunctionDeclaration(const Token *current) {
|
||||
|
||||
Reference in New Issue
Block a user