1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-13 13:31:48 +00:00

GDScript: Properly track extents of constants and patterns

Even in the case of errors.
This commit is contained in:
George Marques
2023-07-10 14:10:57 -03:00
parent ef155c1aeb
commit cbfe2b61b6

View File

@@ -1139,6 +1139,7 @@ GDScriptParser::ConstantNode *GDScriptParser::parse_constant(bool p_is_static) {
ConstantNode *constant = alloc_node<ConstantNode>(); ConstantNode *constant = alloc_node<ConstantNode>();
if (!consume(GDScriptTokenizer::Token::IDENTIFIER, R"(Expected constant name after "const".)")) { if (!consume(GDScriptTokenizer::Token::IDENTIFIER, R"(Expected constant name after "const".)")) {
complete_extents(constant);
return nullptr; return nullptr;
} }
@@ -2147,6 +2148,7 @@ GDScriptParser::PatternNode *GDScriptParser::parse_match_pattern(PatternNode *p_
ExpressionNode *expression = parse_expression(false); ExpressionNode *expression = parse_expression(false);
if (expression == nullptr) { if (expression == nullptr) {
push_error(R"(Expected expression for match pattern.)"); push_error(R"(Expected expression for match pattern.)");
complete_extents(pattern);
return nullptr; return nullptr;
} else { } else {
if (expression->type == GDScriptParser::Node::LITERAL) { if (expression->type == GDScriptParser::Node::LITERAL) {