Skip to content

Commit

Permalink
GDScript: Fix annotation parsing creating new entries in the annotati…
Browse files Browse the repository at this point in the history
…on map
  • Loading branch information
HolonProduction committed Oct 13, 2024
1 parent 92e51fc commit d1a2b6a
Showing 1 changed file with 9 additions and 7 deletions.
16 changes: 9 additions & 7 deletions modules/gdscript/gdscript_parser.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand Down

0 comments on commit d1a2b6a

Please sign in to comment.