### 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)

r_type = _type_from_variant(p_expression->reduced_value);
		if (p_expression->get_datatype().kind == GDScriptParser::DataType::ENUM) {
			r_type.type = p_expression->get_datatype();
		}
		found = true;
	} else {
		switch (p_expression->type) {
			case GDScriptParser::Node::LITERAL: {
				const GDScriptParser::LiteralNode *literal = static_cast<const GDScriptParser::LiteralNode *>(p_expression);
				r_type = _type_from_variant(literal->value);
				found = true;
			} break;
			case GDScriptParser::Node::SELF: {
				if (p_context.current_class) {
					r_type.type.kind = GDScriptParser::DataType::CLASS;
					r_type.type.type_source = GDScriptParser::DataType::INFERRED;
					r_type.type.is_constant = true;
					r_type.type.class_type = p_context.current_class;
					r_type.value = p_context.base;
					found = true;
				}
			} break;
			case GDScriptParser::Node::IDENTIFIER: {
				const GDScriptParser::IdentifierNode *id = static_cast<const GDScriptParser::IdentifierNode *>(p_expression);
				found = _guess_identifier_type(p_context, id->name, r_type);
			} break;
			case GDScriptParser::Node::DICTIONARY: {
				
				const GDScriptParser::DictionaryNode *dn = static_cast<const GDScriptParser::DictionaryNode *>(p_expression);
				Dictionary d;