diff --git a/modules/gdscript/gdscript_editor.cpp b/modules/gdscript/gdscript_editor.cpp index 8f83c262fba..4b4eb1af148 100644 --- a/modules/gdscript/gdscript_editor.cpp +++ b/modules/gdscript/gdscript_editor.cpp @@ -1925,7 +1925,7 @@ static bool _guess_expression_type(GDScriptParser::CompletionContext &p_context, } } - if (!found && base.value.get_type() != Variant::NIL) { + if (!found) { found = _guess_method_return_type_from_base(c, base, call->function_name, r_type); } } diff --git a/modules/gdscript/tests/scripts/completion/common/infer_return_type_without_value.cfg b/modules/gdscript/tests/scripts/completion/common/infer_return_type_without_value.cfg new file mode 100644 index 00000000000..e8f996aa037 --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/common/infer_return_type_without_value.cfg @@ -0,0 +1,5 @@ +[output] +include=[ + ; String + {"display": "begins_with(…)"}, +] diff --git a/modules/gdscript/tests/scripts/completion/common/infer_return_type_without_value.gd b/modules/gdscript/tests/scripts/completion/common/infer_return_type_without_value.gd new file mode 100644 index 00000000000..e271b37eebc --- /dev/null +++ b/modules/gdscript/tests/scripts/completion/common/infer_return_type_without_value.gd @@ -0,0 +1,9 @@ +class B: + func to_str(b: int): + return str(b) + +var a: B + +func _ready(): + a.to_str(10).➡ + pass