You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-05 12:10:55 +00:00
Fix 'unreachable-code' false-positive, fixes #55154
This commit is contained in:
@@ -1813,7 +1813,6 @@ GDScriptParser::MatchNode *GDScriptParser::parse_match() {
|
|||||||
#ifdef DEBUG_ENABLED
|
#ifdef DEBUG_ENABLED
|
||||||
bool all_have_return = true;
|
bool all_have_return = true;
|
||||||
bool have_wildcard = false;
|
bool have_wildcard = false;
|
||||||
bool wildcard_has_return = false;
|
|
||||||
bool have_wildcard_without_continue = false;
|
bool have_wildcard_without_continue = false;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@@ -1831,9 +1830,6 @@ GDScriptParser::MatchNode *GDScriptParser::parse_match() {
|
|||||||
|
|
||||||
if (branch->has_wildcard) {
|
if (branch->has_wildcard) {
|
||||||
have_wildcard = true;
|
have_wildcard = true;
|
||||||
if (branch->block->has_return) {
|
|
||||||
wildcard_has_return = true;
|
|
||||||
}
|
|
||||||
if (!branch->block->has_continue) {
|
if (!branch->block->has_continue) {
|
||||||
have_wildcard_without_continue = true;
|
have_wildcard_without_continue = true;
|
||||||
}
|
}
|
||||||
@@ -1848,7 +1844,7 @@ GDScriptParser::MatchNode *GDScriptParser::parse_match() {
|
|||||||
consume(GDScriptTokenizer::Token::DEDENT, R"(Expected an indented block after "match" statement.)");
|
consume(GDScriptTokenizer::Token::DEDENT, R"(Expected an indented block after "match" statement.)");
|
||||||
|
|
||||||
#ifdef DEBUG_ENABLED
|
#ifdef DEBUG_ENABLED
|
||||||
if (wildcard_has_return || (all_have_return && have_wildcard)) {
|
if (all_have_return && have_wildcard) {
|
||||||
current_suite->has_return = true;
|
current_suite->has_return = true;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
func test():
|
||||||
|
var foo := "bar"
|
||||||
|
match foo:
|
||||||
|
"baz":
|
||||||
|
return
|
||||||
|
_:
|
||||||
|
pass
|
||||||
|
match foo:
|
||||||
|
"baz":
|
||||||
|
return
|
||||||
|
match foo:
|
||||||
|
"bar":
|
||||||
|
pass
|
||||||
|
_:
|
||||||
|
return
|
||||||
|
print("reached")
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
GDTEST_OK
|
||||||
|
reached
|
||||||
Reference in New Issue
Block a user