### Godot version

4.0.beta.16

### System information

N/A

### Issue description

```gdscript
func _run() -> void:
	click_this_function_doesnt_jump_to_its_line() # this works
	self.click_this_function_doesnt_jump_to_its_line() # add self breaks click-jump























































func click_this_function_doesnt_jump_to_its_line():
	pass
```

Ctrl + Click on self.click_this_function_doesnt_jump_to_its_line(), it won't jump to its definition.

### Steps to reproduce

N/A

### Minimal reproduction project

[godot.4.0.beta15.bugs.0.zip](https://github.com/godotengine/godot/files/10532051/godot.4.0.beta15.bugs.0.zip)

break;
					}
					
					const GDScriptParser::DictionaryNode *dn = nullptr;
					if (subscript->base->type == GDScriptParser::Node::DICTIONARY) {
						dn = static_cast<const GDScriptParser::DictionaryNode *>(subscript->base);
					} else if (base.assigned_expression && base.assigned_expression->type == GDScriptParser::Node::DICTIONARY) {
						dn = static_cast<const GDScriptParser::DictionaryNode *>(base.assigned_expression);
					}
					if (dn) {
						for (int i = 0; i < dn->elements.size(); i++) {
							GDScriptCompletionIdentifier key;
							if (!_guess_expression_type(c, dn->elements[i].key, key)) {
								continue;
							}
							if (key.value == index.value) {
								r_type.assigned_expression = dn->elements[i].value;
								found = _guess_expression_type(p_context, dn->elements[i].value, r_type);
								break;
							}
						}
					}
					
					if (!found && index.value.is_num()) {
						int idx = index.value;
						const GDScriptParser::ArrayNode *an = nullptr;
						if (subscript->base->type == GDScriptParser::Node::ARRAY) {
							an = static_cast<const GDScriptParser::ArrayNode *>(subscript->base);
						} else if (base.assigned_expression && base.assigned_expression->type == GDScriptParser::Node::ARRAY) {
							an = static_cast<const GDScriptParser::ArrayNode *>(base.assigned_expression);