From 5d9585d83bb13f4bf818f87e93b064d69ec40d9b Mon Sep 17 00:00:00 2001 From: George Marques Date: Tue, 30 Mar 2021 09:07:26 -0300 Subject: [PATCH] GDScript: Fix array type check on constants They mistakenly pointing to the wrong union member (variable instead of constant). --- modules/gdscript/gdscript_analyzer.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp index 598b36f5363..aa9dbfffdb4 100644 --- a/modules/gdscript/gdscript_analyzer.cpp +++ b/modules/gdscript/gdscript_analyzer.cpp @@ -644,11 +644,11 @@ void GDScriptAnalyzer::resolve_class_interface(GDScriptParser::ClassNode *p_clas GDScriptParser::DataType datatype = member.constant->get_datatype(); if (member.constant->initializer) { if (member.constant->initializer->type == GDScriptParser::Node::ARRAY) { - GDScriptParser::ArrayNode *array = static_cast(member.variable->initializer); + GDScriptParser::ArrayNode *array = static_cast(member.constant->initializer); const_fold_array(array); // Can only infer typed array if it has elements. - if (array->elements.size() > 0 || (member.variable->datatype_specifier != nullptr && specified_type.has_container_element_type())) { + if (array->elements.size() > 0 || (member.constant->datatype_specifier != nullptr && specified_type.has_container_element_type())) { update_array_literal_element_type(specified_type, array); } } else if (member.constant->initializer->type == GDScriptParser::Node::DICTIONARY) {