You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-23 15:16:17 +00:00
Merge pull request #52906 from vnen/gdscript-show-error-on-yield
This commit is contained in:
@@ -2822,6 +2822,11 @@ GDScriptParser::ExpressionNode *GDScriptParser::parse_lambda(ExpressionNode *p_p
|
|||||||
return lambda;
|
return lambda;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
GDScriptParser::ExpressionNode *GDScriptParser::parse_yield(ExpressionNode *p_previous_operand, bool p_can_assign) {
|
||||||
|
push_error(R"("yield" was removed in Godot 4.0. Use "await" instead.)");
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
GDScriptParser::ExpressionNode *GDScriptParser::parse_invalid_token(ExpressionNode *p_previous_operand, bool p_can_assign) {
|
GDScriptParser::ExpressionNode *GDScriptParser::parse_invalid_token(ExpressionNode *p_previous_operand, bool p_can_assign) {
|
||||||
// Just for better error messages.
|
// Just for better error messages.
|
||||||
GDScriptTokenizer::Token::Type invalid = previous.type;
|
GDScriptTokenizer::Token::Type invalid = previous.type;
|
||||||
@@ -3178,7 +3183,7 @@ GDScriptParser::ParseRule *GDScriptParser::get_rule(GDScriptTokenizer::Token::Ty
|
|||||||
{ nullptr, nullptr, PREC_NONE }, // TRAIT,
|
{ nullptr, nullptr, PREC_NONE }, // TRAIT,
|
||||||
{ nullptr, nullptr, PREC_NONE }, // VAR,
|
{ nullptr, nullptr, PREC_NONE }, // VAR,
|
||||||
{ nullptr, nullptr, PREC_NONE }, // VOID,
|
{ nullptr, nullptr, PREC_NONE }, // VOID,
|
||||||
{ nullptr, nullptr, PREC_NONE }, // YIELD,
|
{ &GDScriptParser::parse_yield, nullptr, PREC_NONE }, // YIELD,
|
||||||
// Punctuation
|
// Punctuation
|
||||||
{ &GDScriptParser::parse_array, &GDScriptParser::parse_subscript, PREC_SUBSCRIPT }, // BRACKET_OPEN,
|
{ &GDScriptParser::parse_array, &GDScriptParser::parse_subscript, PREC_SUBSCRIPT }, // BRACKET_OPEN,
|
||||||
{ nullptr, nullptr, PREC_NONE }, // BRACKET_CLOSE,
|
{ nullptr, nullptr, PREC_NONE }, // BRACKET_CLOSE,
|
||||||
|
|||||||
@@ -1388,6 +1388,7 @@ private:
|
|||||||
ExpressionNode *parse_attribute(ExpressionNode *p_previous_operand, bool p_can_assign);
|
ExpressionNode *parse_attribute(ExpressionNode *p_previous_operand, bool p_can_assign);
|
||||||
ExpressionNode *parse_subscript(ExpressionNode *p_previous_operand, bool p_can_assign);
|
ExpressionNode *parse_subscript(ExpressionNode *p_previous_operand, bool p_can_assign);
|
||||||
ExpressionNode *parse_lambda(ExpressionNode *p_previous_operand, bool p_can_assign);
|
ExpressionNode *parse_lambda(ExpressionNode *p_previous_operand, bool p_can_assign);
|
||||||
|
ExpressionNode *parse_yield(ExpressionNode *p_previous_operand, bool p_can_assign);
|
||||||
ExpressionNode *parse_invalid_token(ExpressionNode *p_previous_operand, bool p_can_assign);
|
ExpressionNode *parse_invalid_token(ExpressionNode *p_previous_operand, bool p_can_assign);
|
||||||
TypeNode *parse_type(bool p_allow_void = false);
|
TypeNode *parse_type(bool p_allow_void = false);
|
||||||
#ifdef TOOLS_ENABLED
|
#ifdef TOOLS_ENABLED
|
||||||
|
|||||||
@@ -0,0 +1,6 @@
|
|||||||
|
#GDTEST_PARSER_ERROR
|
||||||
|
|
||||||
|
signal event
|
||||||
|
|
||||||
|
func test():
|
||||||
|
yield("event")
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
GDTEST_PARSER_ERROR
|
||||||
|
"yield" was removed in Godot 4.0. Use "await" instead.
|
||||||
Reference in New Issue
Block a user