### 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
}
	const List<PropertyInfo>::Element *E = info.arguments.front();
	for (int i = 0; i < p_annotation->arguments.size(); i++) {
		ExpressionNode *argument = p_annotation->arguments[i];
		const PropertyInfo &parameter = E->get();
		if (E->next() != nullptr) {
			E = E->next();
		}
		switch (parameter.type) {
			case Variant::STRING:
			case Variant::STRING_NAME:
			case Variant::NODE_PATH:
				
				if (argument->type == Node::IDENTIFIER) {
					IdentifierNode *string = static_cast<IdentifierNode *>(argument);
					Callable::CallError error;
					Vector<Variant> args = varray(string->name);
					const Variant *name = args.ptr();
					Variant r;
					Variant::construct(parameter.type, r, &(name), 1, error);
					p_annotation->resolved_arguments.push_back(r);
					if (error.error != Callable::CallError::CALL_OK) {
						push_error(vformat(R"(Expected %s as argument %d of annotation "%s".)", Variant::get_type_name(parameter.type), i + 1, p_annotation->name));
						p_annotation->resolved_arguments.remove_at(p_annotation->resolved_arguments.size() - 1);
						return false;
					}
					break;
				}
				[[fallthrough]];
			default: {