summaryrefslogtreecommitdiffstats
path: root/modules/gdscript/gdscript_analyzer.cpp
diff options
context:
space:
mode:
authorDmitrii Maganov <vonagam@gmail.com>2023-03-28 13:47:24 +0300
committerDmitrii Maganov <vonagam@gmail.com>2023-03-28 13:47:24 +0300
commit8655d979a19bc2c295bd1c41c3fa0e9dba097a0c (patch)
treea9afc788d2fccb18e7ddb1e7da2e1a1aaafa6835 /modules/gdscript/gdscript_analyzer.cpp
parentf818d2b98f33199f480a8f59c8ce1e00876cc834 (diff)
downloadredot-engine-8655d979a19bc2c295bd1c41c3fa0e9dba097a0c.tar.gz
GDScript: Allow elements of a parent class in a typed array literal
Diffstat (limited to 'modules/gdscript/gdscript_analyzer.cpp')
-rw-r--r--modules/gdscript/gdscript_analyzer.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp
index a2cab25ce8..3606a94c16 100644
--- a/modules/gdscript/gdscript_analyzer.cpp
+++ b/modules/gdscript/gdscript_analyzer.cpp
@@ -2373,6 +2373,10 @@ void GDScriptAnalyzer::update_array_literal_element_type(GDScriptParser::ArrayNo
continue;
}
if (!is_type_compatible(p_element_type, element_type, true, p_array)) {
+ if (is_type_compatible(element_type, p_element_type)) {
+ mark_node_unsafe(element_node);
+ continue;
+ }
push_error(vformat(R"(Cannot have an element of type "%s" in an array of type "Array[%s]".)", element_type.to_string(), p_element_type.to_string()), element_node);
return;
}