Merge pull request #55201 from Scony/fix-unreachable-code-false-positive

This commit is contained in:
Rémi Verschelde 2022-05-18 16:04:12 +02:00 committed by GitHub
commit e22255edaf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 19 additions and 5 deletions

View file

@ -1808,7 +1808,6 @@ GDScriptParser::MatchNode *GDScriptParser::parse_match() {
#ifdef DEBUG_ENABLED
bool all_have_return = true;
bool have_wildcard = false;
bool wildcard_has_return = false;
bool have_wildcard_without_continue = false;
#endif
@ -1826,9 +1825,6 @@ GDScriptParser::MatchNode *GDScriptParser::parse_match() {
if (branch->has_wildcard) {
have_wildcard = true;
if (branch->block->has_return) {
wildcard_has_return = true;
}
if (!branch->block->has_continue) {
have_wildcard_without_continue = true;
}
@ -1843,7 +1839,7 @@ GDScriptParser::MatchNode *GDScriptParser::parse_match() {
consume(GDScriptTokenizer::Token::DEDENT, R"(Expected an indented block after "match" statement.)");
#ifdef DEBUG_ENABLED
if (wildcard_has_return || (all_have_return && have_wildcard)) {
if (all_have_return && have_wildcard) {
current_suite->has_return = true;
}
#endif

View file

@ -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")

View file

@ -0,0 +1,2 @@
GDTEST_OK
reached