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

}
						if (an && idx >= 0 && an->elements.size() > idx) {
							r_type.assigned_expression = an->elements[idx];
							found = _guess_expression_type(c, an->elements[idx], r_type);
							break;
						}
					}
					
					if (!found && (index.value.get_type() == Variant::STRING || index.value.get_type() == Variant::NODE_PATH)) {
						StringName id = index.value;
						found = _guess_identifier_type_from_base(c, base, id, r_type);
					} else if (!found && index.type.kind == GDScriptParser::DataType::BUILTIN) {
						Callable::CallError err;
						Variant base_val;
						Variant::construct(base.type.builtin_type, base_val, nullptr, 0, err);
						bool valid = false;
						Variant res = base_val.get(index.value, &valid);
						if (valid) {
							r_type = _type_from_variant(res);
							r_type.value = Variant();
							r_type.type.is_constant = false;
							found = true;
						}
					}
				}
			} break;
			case GDScriptParser::Node::BINARY_OPERATOR: {
				const GDScriptParser::BinaryOpNode *op = static_cast<const GDScriptParser::BinaryOpNode *>(p_expression);
				if (op->variant_op == Variant::OP_MAX) {
					break;