diff options
author | MinusKube <minuskube@gmail.com> | 2023-01-29 20:29:23 +0100 |
---|---|---|
committer | MinusKube <minuskube@gmail.com> | 2023-01-29 20:29:23 +0100 |
commit | 2b60d9d6e1850616aabb0a8873757708940dd573 (patch) | |
tree | 0ae260fe65907c586d5e9b393c3c74d59ada8563 | |
parent | a43db5afa4bbec4772be2f296931a6d44bb4cbb3 (diff) |
Fix unreachable code warning for elif block
-rw-r--r-- | modules/gdscript/gdscript_parser.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index 1a744d59ba..2b0aefbd09 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -1865,10 +1865,18 @@ GDScriptParser::IfNode *GDScriptParser::parse_if(const String &p_token) { if (match(GDScriptTokenizer::Token::ELIF)) { SuiteNode *else_block = alloc_node<SuiteNode>(); + else_block->parent_function = current_function; + else_block->parent_block = current_suite; + + SuiteNode *previous_suite = current_suite; + current_suite = else_block; + IfNode *elif = parse_if("elif"); else_block->statements.push_back(elif); complete_extents(else_block); n_if->false_block = else_block; + + current_suite = previous_suite; } else if (match(GDScriptTokenizer::Token::ELSE)) { consume(GDScriptTokenizer::Token::COLON, R"(Expected ":" after "else".)"); n_if->false_block = parse_suite(R"("else" block)"); |