Browse Source

Merge pull request #107852 from HolonProduction/completion-filter-current-impl

Autocompletion: Don't filter overrides when the existing function is the current one
Thaddeus Crews 2 months ago
parent
commit
4a90220fc9

+ 9 - 2
modules/gdscript/gdscript_editor.cpp

@@ -3567,7 +3567,11 @@ static void _find_call_arguments(GDScriptParser::CompletionContext &p_context, c
 								continue;
 							}
 
-							if (options.has(member.function->identifier->name) || completion_context.current_class->has_function(member.function->identifier->name)) {
+							if (options.has(member.function->identifier->name)) {
+								continue;
+							}
+
+							if (completion_context.current_class->has_function(member.get_name()) && completion_context.current_class->get_member(member.get_name()).function != function_node) {
 								continue;
 							}
 
@@ -3611,7 +3615,10 @@ static void _find_call_arguments(GDScriptParser::CompletionContext &p_context, c
 			}
 
 			for (const MethodInfo &mi : virtual_methods) {
-				if (options.has(mi.name) || completion_context.current_class->has_function(mi.name)) {
+				if (options.has(mi.name)) {
+					continue;
+				}
+				if (completion_context.current_class->has_function(mi.name) && completion_context.current_class->get_member(mi.name).function != function_node) {
 					continue;
 				}
 				String method_hint = mi.name;

+ 5 - 0
modules/gdscript/tests/scripts/completion/common/override_function_full_name.cfg

@@ -0,0 +1,5 @@
+scene="res://completion/get_node/get_node.tscn"
+[output]
+include=[
+	{"display": "_get(property: StringName) -> Variant:"},
+]

+ 3 - 0
modules/gdscript/tests/scripts/completion/common/override_function_full_name.gd

@@ -0,0 +1,3 @@
+extends Object
+
+func _get➡