Skip to content

Fix incorrect tooltip when local methods override global functions#117308

Open
EdwardChanCH wants to merge 1 commit intogodotengine:masterfrom
EdwardChanCH:tooltip_global_method_hides_local_v2
Open

Fix incorrect tooltip when local methods override global functions#117308
EdwardChanCH wants to merge 1 commit intogodotengine:masterfrom
EdwardChanCH:tooltip_global_method_hides_local_v2

Conversation

@EdwardChanCH
Copy link
Copy Markdown
Contributor

@EdwardChanCH EdwardChanCH commented Mar 11, 2026

Closes: #106840

Related: #106984

Note: This is split from #106987, since the original PR became too bloated.

@EdwardChanCH EdwardChanCH requested a review from a team as a code owner March 11, 2026 04:58
@EdwardChanCH EdwardChanCH changed the title Fixed incorrect tooltip when local methods override global functions Fix incorrect tooltip when local methods override global functions Mar 11, 2026
@EdwardChanCH EdwardChanCH force-pushed the tooltip_global_method_hides_local_v2 branch from 7ad1cc6 to 0caaf0c Compare March 11, 2026 05:09
@EdwardChanCH
Copy link
Copy Markdown
Contributor Author

EdwardChanCH commented Mar 11, 2026

Below is a full summary of what this PR fixed, and what will be fixed in future issues/proposals:
godotengine/godot-proposals#14425, #117305

class_name _Main
extends Node

# Shows NATIVE_METHOD_OVERRIDE warning.
func get(_property: StringName) -> Variant:
	# Shows tooltip Object.get() on hover center.
	# Shows tooltip Object.get() on hover first letter.
	return 100

# Missing warning. --> Proposal #14425
func char(code :int):
	# Shows tooltip @GDScript.char() on hover center.
	# Shows tooltip @GDScript.char() on hover first letter.
	return 200

# Missing warning. --> Proposal #14425
func log(x: float):
	# No tooltip on hover center.       <-- Fixed! Now shows @GlobalScope.log().
	# No tooltip on hover first letter. <-- Fixed! Now shows @GlobalScope.log().
	return 300

func unique(n: float):
	# No tooltip on hover center.
	# No tooltip on hover first letter.
	return 400

# Note: Named lambdas do not actually override anything.

var named_lambda_1 = func get():
	# No tooltip on hover center.
	# Shows tooltip _Main.get() on hover first letter. --> Issue #117305
	return null

var named_lambda_2 = func char():
	# Shows tooltip @GDScript.char() on hover center. <-- Fixed! Now no tooltip.
	# Shows tooltip @GDScript.char() on hover first letter. --> Issue #117305
	return null

var named_lambda_3 = func log():
	# No tooltip on hover center.
	# Shows tooltip _Main.log() on hover first letter. <-- Fixed! Now shows @GDScript.char(). --> Issue #117305
	return null

var named_lambda_4 = func unique():
	# No tooltip on hover center.
	# Shows tooltip _Main.unique() on hover first letter. --> Issue #117305
	return null

func _ready() -> void:
	# Shows tooltip _Main.log() on hover center.       <-- Fixed! Now shows @GlobalScope.log().
	# Shows tooltip _Main.log() on hover first letter. <-- Fixed! Now shows @GlobalScope.log().
	print(log(10)) # Prints 2.30258509299405
	
	var main = _Main.new()
	# Shows tooltip _Main.log() on hover center.
	# Shows tooltip _Main.log() on hover first letter.
	print(main.log(10)) # Prints 300

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

@GlobalScope method hides local method but tooltip hints otherwise

2 participants