### Godot version

Godot 4.0.1.stable

### System information

Windows 10, Forward+

### Issue description

Example code:

```gdscript
@warning_ignore("shadowed_global_identifier")
static func print_debug(msg: String):
```

the warning is ignored by pressing [ignore] in the warnings panel.

pressing it multiple times results in:
```gdscript
@warning_ignore("shadowed_global_identifier", "shadowed_global_identifier")
```


### Steps to reproduce

Shadowing a global function with a method of script:

```gdscript
@warning_ignore("shadowed_global_identifier")
static func print_debug(msg: String):
```


### Minimal reproduction project

```gdscript
@warning_ignore("shadowed_global_identifier")
static func print_debug(msg: String):
    pass
```
{ nullptr,                                          &GDScriptParser::parse_attribute,            	PREC_ATTRIBUTE }, 
		{ nullptr,                                          nullptr,                                        PREC_NONE }, 
		{ nullptr,                                          nullptr,                                        PREC_NONE }, 
		{ &GDScriptParser::parse_get_node,               	nullptr,                                        PREC_NONE }, 
		{ nullptr,                                          nullptr,                                        PREC_NONE }, 
		{ nullptr,                                          nullptr,                                        PREC_NONE }, 
		
		{ nullptr,                                          nullptr,                                        PREC_NONE }, 
		{ nullptr,                                          nullptr,                                        PREC_NONE }, 
		{ nullptr,                                          nullptr,                                        PREC_NONE }, 
		
		{ &GDScriptParser::parse_builtin_constant,			nullptr,                                        PREC_NONE }, 
		{ &GDScriptParser::parse_builtin_constant,			nullptr,                                        PREC_NONE }, 
		{ &GDScriptParser::parse_builtin_constant,			nullptr,                                        PREC_NONE }, 
		{ &GDScriptParser::parse_builtin_constant,			nullptr,                                        PREC_NONE }, 
		
		{ nullptr,                                          nullptr,                                        PREC_NONE }, 
		{ nullptr,                                          nullptr,                                        PREC_NONE }, 
		{ nullptr,                                          &GDScriptParser::parse_invalid_token,        	PREC_CAST }, 
		
		{ nullptr,                                          nullptr,                                        PREC_NONE }, 
		{ nullptr,                                          nullptr,                                        PREC_NONE }, 
	};
	
	
	static_assert(sizeof(rules) / sizeof(rules[0]) == GDScriptTokenizer::Token::TK_MAX, "Amount of parse rules don't match the amount of token types.");
	
	return &rules[p_token_type];
}
bool GDScriptParser::SuiteNode::has_local(const StringName &p_name) const {