### Godot version

v4.0.beta14.official [28a24639c]

### System information

MacOS 12.6.2

### Issue description

Beta 14 throws an error for custom `@icon`, e.g.
```
class_name StateMachine extends Node

@icon("res://assets/icons/state_machine.svg")
```
> Annotation "`@icon`" is not allowed in this level.

In beta 13 and before that worked fine.

### Steps to reproduce

1. Add a custom `@icon` in a custom node script.
2. Error message: Annotation "`@icon`" is not allowed in this level.

There are possibly other errors because a `class_name` node is now not recognized if extended by other classes, but they should resolve if `@icon` is removed.

### Minimal reproduction project

N/A
suite->add_local(SuiteNode::Local(n_for->variable, current_function));
	}
	n_for->loop = parse_suite(R"("for" block)", suite);
	n_for->loop->is_loop = true;
	complete_extents(n_for);
	
	can_break = could_break;
	can_continue = could_continue;
	return n_for;
}
GDScriptParser::IfNode *GDScriptParser::parse_if(const String &p_token) {
	IfNode *n_if = alloc_node<IfNode>();
	n_if->condition = parse_expression(false);
	if (n_if->condition == nullptr) {
		push_error(vformat(R"(Expected conditional expression after "%s".)", p_token));
	}
	consume(GDScriptTokenizer::Token::COLON, vformat(R"(Expected ":" after "%s" condition.)", p_token));
	n_if->true_block = parse_suite(vformat(R"("%s" block)", p_token));
	n_if->true_block->parent_if = n_if;
	if (n_if->true_block->has_continue) {
		current_suite->has_continue = true;
	}
	if (match(GDScriptTokenizer::Token::ELIF)) {
		SuiteNode *else_block = alloc_node<SuiteNode>();
		IfNode *elif = parse_if("elif");
		else_block->statements.push_back(elif);
		complete_extents(else_block);
		n_if->false_block = else_block;
	} else if (match(GDScriptTokenizer::Token::ELSE)) {
		consume(GDScriptTokenizer::Token::COLON, R"(Expected ":" after "else".)");