summaryrefslogtreecommitdiffstats
path: root/modules
diff options
context:
space:
mode:
authorGeorge Marques <george@gmarqu.es>2023-07-10 14:10:57 -0300
committerGeorge Marques <george@gmarqu.es>2023-07-12 10:57:11 -0300
commitcbfe2b61b694184fd045d646fc510510b96553ad (patch)
treec0ca5102c9fafff34be536cfd3e082010dd9cd52 /modules
parentef155c1aeb216fa5a732913b6f2dc321e4b512dc (diff)
downloadredot-engine-cbfe2b61b694184fd045d646fc510510b96553ad.tar.gz
GDScript: Properly track extents of constants and patterns
Even in the case of errors.
Diffstat (limited to 'modules')
-rw-r--r--modules/gdscript/gdscript_parser.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp
index 13838ee0a1..5c2d4a060c 100644
--- a/modules/gdscript/gdscript_parser.cpp
+++ b/modules/gdscript/gdscript_parser.cpp
@@ -1139,6 +1139,7 @@ GDScriptParser::ConstantNode *GDScriptParser::parse_constant(bool p_is_static) {
ConstantNode *constant = alloc_node<ConstantNode>();
if (!consume(GDScriptTokenizer::Token::IDENTIFIER, R"(Expected constant name after "const".)")) {
+ complete_extents(constant);
return nullptr;
}
@@ -2147,6 +2148,7 @@ GDScriptParser::PatternNode *GDScriptParser::parse_match_pattern(PatternNode *p_
ExpressionNode *expression = parse_expression(false);
if (expression == nullptr) {
push_error(R"(Expected expression for match pattern.)");
+ complete_extents(pattern);
return nullptr;
} else {
if (expression->type == GDScriptParser::Node::LITERAL) {