|
@@ -1624,15 +1624,17 @@ GDScriptParser::AnnotationNode *GDScriptParser::parse_annotation(uint32_t p_vali
|
|
|
valid = false;
|
|
|
}
|
|
|
|
|
|
- annotation->info = &valid_annotations[annotation->name];
|
|
|
+ if (valid) {
|
|
|
+ annotation->info = &valid_annotations[annotation->name];
|
|
|
|
|
|
- if (!annotation->applies_to(p_valid_targets)) {
|
|
|
- if (annotation->applies_to(AnnotationInfo::SCRIPT)) {
|
|
|
- push_error(vformat(R"(Annotation "%s" must be at the top of the script, before "extends" and "class_name".)", annotation->name));
|
|
|
- } else {
|
|
|
- push_error(vformat(R"(Annotation "%s" is not allowed in this level.)", annotation->name));
|
|
|
+ if (!annotation->applies_to(p_valid_targets)) {
|
|
|
+ if (annotation->applies_to(AnnotationInfo::SCRIPT)) {
|
|
|
+ push_error(vformat(R"(Annotation "%s" must be at the top of the script, before "extends" and "class_name".)", annotation->name));
|
|
|
+ } else {
|
|
|
+ push_error(vformat(R"(Annotation "%s" is not allowed in this level.)", annotation->name));
|
|
|
+ }
|
|
|
+ valid = false;
|
|
|
}
|
|
|
- valid = false;
|
|
|
}
|
|
|
|
|
|
if (check(GDScriptTokenizer::Token::PARENTHESIS_OPEN)) {
|