diff options
author | Thakee Nathees <thakeenathees@gmail.com> | 2020-05-10 10:54:23 +0530 |
---|---|---|
committer | Thakee Nathees <thakeenathees@gmail.com> | 2020-05-10 10:54:23 +0530 |
commit | 79eee93b9a24b377a57ca034b21ea30fbf91eead (patch) | |
tree | 829d65ddf0c6b4fb39ef54a2e89dac8decf93011 | |
parent | ff5dfcdf68c20590bf123ade75ca06ed58276372 (diff) |
shadowed var warning in nested block bug fix
Fix: #38552
-rw-r--r-- | modules/gdscript/gdscript_parser.cpp | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/modules/gdscript/gdscript_parser.cpp b/modules/gdscript/gdscript_parser.cpp index c875846fcc..b3ec42a7fb 100644 --- a/modules/gdscript/gdscript_parser.cpp +++ b/modules/gdscript/gdscript_parser.cpp @@ -8048,17 +8048,6 @@ void GDScriptParser::_check_function_types(FunctionNode *p_function) { p_function->return_type.has_type = false; p_function->return_type.may_yield = true; } - -#ifdef DEBUG_ENABLED - for (Map<StringName, LocalVarNode *>::Element *E = p_function->body->variables.front(); E; E = E->next()) { - LocalVarNode *lv = E->get(); - for (int i = 0; i < current_class->variables.size(); i++) { - if (current_class->variables[i].identifier == lv->name) { - _add_warning(GDScriptWarning::SHADOWED_VARIABLE, lv->line, lv->name, itos(current_class->variables[i].line)); - } - } - } -#endif // DEBUG_ENABLED } void GDScriptParser::_check_class_blocks_types(ClassNode *p_class) { @@ -8166,6 +8155,11 @@ void GDScriptParser::_check_block_types(BlockNode *p_block) { if (lv->datatype.has_type && assign_type.may_yield && lv->assign->type == Node::TYPE_OPERATOR) { _add_warning(GDScriptWarning::FUNCTION_MAY_YIELD, lv->line, _find_function_name(static_cast<OperatorNode *>(lv->assign))); } + for (int i = 0; i < current_class->variables.size(); i++) { + if (current_class->variables[i].identifier == lv->name) { + _add_warning(GDScriptWarning::SHADOWED_VARIABLE, lv->line, lv->name, itos(current_class->variables[i].line)); + } + } #endif // DEBUG_ENABLED if (!_is_type_compatible(lv->datatype, assign_type)) { |