Browse Source

GDScript: Fix infinite recursion in resolution of enum values

George Marques 2 years ago
parent
commit
3a5e41293c
1 changed files with 2 additions and 2 deletions
  1. 2 2
      modules/gdscript/gdscript_analyzer.cpp

+ 2 - 2
modules/gdscript/gdscript_analyzer.cpp

@@ -889,11 +889,11 @@ void GDScriptAnalyzer::resolve_class_member(GDScriptParser::ClassNode *p_class,
 				resolve_function_signature(member.function, p_source);
 				break;
 			case GDScriptParser::ClassNode::Member::ENUM_VALUE: {
+				member.enum_value.identifier->set_datatype(resolving_datatype);
+
 				if (member.enum_value.custom_value) {
 					check_class_member_name_conflict(p_class, member.enum_value.identifier->name, member.enum_value.custom_value);
 
-					member.enum_value.identifier->set_datatype(resolving_datatype);
-
 					const GDScriptParser::EnumNode *prev_enum = current_enum;
 					current_enum = member.enum_value.parent_enum;
 					reduce_expression(member.enum_value.custom_value);