You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-06 12:20:30 +00:00
GDScript: Fix signal parameters not respecting commas
This commit is contained in:
@@ -986,9 +986,15 @@ GDScriptParser::SignalNode *GDScriptParser::parse_signal() {
|
|||||||
signal->identifier = parse_identifier();
|
signal->identifier = parse_identifier();
|
||||||
|
|
||||||
if (match(GDScriptTokenizer::Token::PARENTHESIS_OPEN)) {
|
if (match(GDScriptTokenizer::Token::PARENTHESIS_OPEN)) {
|
||||||
while (!check(GDScriptTokenizer::Token::PARENTHESIS_CLOSE) && !is_at_end()) {
|
do {
|
||||||
|
if (check(GDScriptTokenizer::Token::PARENTHESIS_CLOSE)) {
|
||||||
|
// Allow for trailing comma.
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
ParameterNode *parameter = parse_parameter();
|
ParameterNode *parameter = parse_parameter();
|
||||||
if (parameter == nullptr) {
|
if (parameter == nullptr) {
|
||||||
|
push_error("Expected signal parameter name.");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if (parameter->default_value != nullptr) {
|
if (parameter->default_value != nullptr) {
|
||||||
@@ -1000,7 +1006,8 @@ GDScriptParser::SignalNode *GDScriptParser::parse_signal() {
|
|||||||
signal->parameters_indices[parameter->identifier->name] = signal->parameters.size();
|
signal->parameters_indices[parameter->identifier->name] = signal->parameters.size();
|
||||||
signal->parameters.push_back(parameter);
|
signal->parameters.push_back(parameter);
|
||||||
}
|
}
|
||||||
}
|
} while (match(GDScriptTokenizer::Token::COMMA) && !is_at_end());
|
||||||
|
|
||||||
consume(GDScriptTokenizer::Token::PARENTHESIS_CLOSE, R"*(Expected closing ")" after signal parameters.)*");
|
consume(GDScriptTokenizer::Token::PARENTHESIS_CLOSE, R"*(Expected closing ")" after signal parameters.)*");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user