### Godot version

4.1.1stable

### System information

Godot v4.1.1.stable - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3050 Laptop GPU (NVIDIA; 31.0.15.3179) - 11th Gen Intel(R) Core(TM) i5-11300H @ 3.10GHz (8 Threads)

### Issue description

So, to make my code better I was using `@export_category("HEALTH")` to create categories in the editor.
Also, right under that, I had ```@export var HEALTH = 30; var current_health: float```. 

Turns out, the `@export_category` creates a boolean variable with the same name as my health variable with caused issues when I wanted to set `current_health` to `HEALTH`. 

Never in the editor this was said or implied by a console error.
I simply fixed it by removing `@export_category` even though I could have changed the name of the category instead.

Just wanted to point that out in case this wasn't intended.


### Steps to reproduce

Try the following code:

```gdscript
@export_category("NAME")
@export var NAME = 1
var my_name: int

func _ready():
    my_name = NAME

func _physics_process(delta):
    print(NAME)
    print(my_name)
```

### Minimal reproduction project

N/A

_Bugsquad edit:_ Fix formatting.
ParameterNode *parse_parameter();
	FunctionNode *parse_function(bool p_is_static);
	void parse_function_signature(FunctionNode *p_function, SuiteNode *p_body, const String &p_type);
	SuiteNode *parse_suite(const String &p_context, SuiteNode *p_suite = nullptr, bool p_for_lambda = false);
	
	AnnotationNode *parse_annotation(uint32_t p_valid_targets);
	bool register_annotation(const MethodInfo &p_info, uint32_t p_target_kinds, AnnotationAction p_apply, const Vector<Variant> &p_default_arguments = Vector<Variant>(), bool p_is_vararg = false);
	bool validate_annotation_arguments(AnnotationNode *p_annotation);
	void clear_unused_annotations();
	bool tool_annotation(const AnnotationNode *p_annotation, Node *p_target);
	bool icon_annotation(const AnnotationNode *p_annotation, Node *p_target);
	bool onready_annotation(const AnnotationNode *p_annotation, Node *p_target);
	template <PropertyHint t_hint, Variant::Type t_type>
	bool export_annotations(const AnnotationNode *p_annotation, Node *p_target);
	template <PropertyUsageFlags t_usage>
	bool export_group_annotations(const AnnotationNode *p_annotation, Node *p_target);
	bool warning_annotations(const AnnotationNode *p_annotation, Node *p_target);
	bool rpc_annotation(const AnnotationNode *p_annotation, Node *p_target);
	bool static_unload_annotation(const AnnotationNode *p_annotation, Node *p_target);
	
	Node *parse_statement();
	VariableNode *parse_variable(bool p_is_static);
	VariableNode *parse_variable(bool p_is_static, bool p_allow_property);
	VariableNode *parse_property(VariableNode *p_variable, bool p_need_indent);
	void parse_property_getter(VariableNode *p_variable);
	void parse_property_setter(VariableNode *p_variable);
	ConstantNode *parse_constant(bool p_is_static);
	AssertNode *parse_assert();
	BreakNode *parse_break();
	ContinueNode *parse_continue();