From ef98bdd5023f988c069f407812c68bef863c4f72 Mon Sep 17 00:00:00 2001 From: StamLord <42681607+StamLord@users.noreply.github.com> Date: Sun, 14 Sep 2025 23:44:31 +0300 Subject: [PATCH] Resolved guard pattern warning --- modules/gdscript/gdscript_analyzer.cpp | 6 +++--- modules/gdscript/gdscript_analyzer.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/gdscript/gdscript_analyzer.cpp b/modules/gdscript/gdscript_analyzer.cpp index d4fa515a70..4d20119b38 100644 --- a/modules/gdscript/gdscript_analyzer.cpp +++ b/modules/gdscript/gdscript_analyzer.cpp @@ -2051,7 +2051,7 @@ void GDScriptAnalyzer::decide_suite_type(GDScriptParser::Node *p_suite, GDScript } } -void GDScriptAnalyzer::resolve_suite(GDScriptParser::SuiteNode *p_suite) { +void GDScriptAnalyzer::resolve_suite(GDScriptParser::SuiteNode *p_suite, bool p_is_root) { for (int i = 0; i < p_suite->statements.size(); i++) { GDScriptParser::Node *stmt = p_suite->statements[i]; // Apply annotations. @@ -2060,7 +2060,7 @@ void GDScriptAnalyzer::resolve_suite(GDScriptParser::SuiteNode *p_suite) { E->apply(parser, stmt, nullptr); // TODO: Provide `p_class`. } - resolve_node(stmt); + resolve_node(stmt, p_is_root); resolve_pending_lambda_bodies(); decide_suite_type(p_suite, stmt); } @@ -2423,7 +2423,7 @@ void GDScriptAnalyzer::resolve_match_branch(GDScriptParser::MatchBranchNode *p_m } if (p_match_branch->guard_body) { - resolve_suite(p_match_branch->guard_body); + resolve_suite(p_match_branch->guard_body, false); } resolve_suite(p_match_branch->block); diff --git a/modules/gdscript/gdscript_analyzer.h b/modules/gdscript/gdscript_analyzer.h index 576276471d..9b975a8ced 100644 --- a/modules/gdscript/gdscript_analyzer.h +++ b/modules/gdscript/gdscript_analyzer.h @@ -81,7 +81,7 @@ class GDScriptAnalyzer { void resolve_function_signature(GDScriptParser::FunctionNode *p_function, const GDScriptParser::Node *p_source = nullptr, bool p_is_lambda = false); void resolve_function_body(GDScriptParser::FunctionNode *p_function, bool p_is_lambda = false); void resolve_node(GDScriptParser::Node *p_node, bool p_is_root = true); - void resolve_suite(GDScriptParser::SuiteNode *p_suite); + void resolve_suite(GDScriptParser::SuiteNode *p_suite, bool p_is_root = true); void resolve_assignable(GDScriptParser::AssignableNode *p_assignable, const char *p_kind); void resolve_variable(GDScriptParser::VariableNode *p_variable, bool p_is_local); void resolve_constant(GDScriptParser::ConstantNode *p_constant, bool p_is_local);