mirror of
https://github.com/godotengine/godot.git
synced 2025-02-18 08:41:18 +00:00
Print error message when await is not followed by signal or coroutine
When await was not followed by a signal or coroutine the GDScript parser would crash. This fix will check if await is followed by a signal or coroutine in case that isn't true (element == nullptr) then an error message is printed.
This commit is contained in:
parent
dcf2d09231
commit
e77338978f
@ -2380,7 +2380,11 @@ GDScriptParser::ExpressionNode *GDScriptParser::parse_assignment(ExpressionNode
|
|||||||
|
|
||||||
GDScriptParser::ExpressionNode *GDScriptParser::parse_await(ExpressionNode *p_previous_operand, bool p_can_assign) {
|
GDScriptParser::ExpressionNode *GDScriptParser::parse_await(ExpressionNode *p_previous_operand, bool p_can_assign) {
|
||||||
AwaitNode *await = alloc_node<AwaitNode>();
|
AwaitNode *await = alloc_node<AwaitNode>();
|
||||||
await->to_await = parse_precedence(PREC_AWAIT, false);
|
ExpressionNode *element = parse_precedence(PREC_AWAIT, false);
|
||||||
|
if (element == nullptr) {
|
||||||
|
push_error(R"(Expected signal or coroutine after "await".)");
|
||||||
|
}
|
||||||
|
await->to_await = element;
|
||||||
|
|
||||||
current_function->is_coroutine = true;
|
current_function->is_coroutine = true;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user