2
0
Эх сурвалжийг харах

Merge pull request #38610 from ThakeeNathees/infer-type-null-error

set parser error when infer type is null
Rémi Verschelde 5 жил өмнө
parent
commit
5046f666a1

+ 8 - 0
modules/gdscript/gdscript_parser.cpp

@@ -8005,6 +8005,10 @@ void GDScriptParser::_check_class_level_types(ClassNode *p_class) {
 					_set_error("The assigned value doesn't have a set type; the variable type can't be inferred.", v.line);
 					return;
 				}
+				if (expr_type.kind == DataType::BUILTIN && expr_type.builtin_type == Variant::NIL) {
+					_set_error("The variable type cannot be inferred because its value is \"null\".", v.line);
+					return;
+				}
 				v.data_type = expr_type;
 				v.data_type.is_constant = false;
 			}
@@ -8388,6 +8392,10 @@ void GDScriptParser::_check_block_types(BlockNode *p_block) {
 							_set_error("The assigned value doesn't have a set type; the variable type can't be inferred.", lv->line);
 							return;
 						}
+						if (assign_type.kind == DataType::BUILTIN && assign_type.builtin_type == Variant::NIL) {
+							_set_error("The variable type cannot be inferred because its value is \"null\".", lv->line);
+							return;
+						}
 						lv->datatype = assign_type;
 						lv->datatype.is_constant = false;
 					}