@@ -4248,7 +4248,9 @@ static Error _refactor_rename_symbol_match_from_class_loop_nodes(LocalVector<GDS
42484248 _refactor_rename_symbol_add_match (p_path, identifier_node, r_result);
42494249 continue ;
42504250 } else if (identifier_node_source_node != nullptr ) {
4251- continue ;
4251+ if (identifier_node_source_node->type != p_source_node->type ) {
4252+ continue ;
4253+ }
42524254 }
42534255
42544256 // Maybe the identifier is in the definition itself of the source, so it doesn't have any source.
@@ -4345,21 +4347,21 @@ static Error _refactor_rename_symbol_match_from_class_loop_nodes(LocalVector<GDS
43454347 if (identifier_node->name != source_node_signal_node->identifier ->name ) {
43464348 continue ;
43474349 }
4348- GDScriptParser::SignalNode *identifier_signal_node;
4350+ GDScriptParser::SignalNode *identifier_signal_node = nullptr ;
43494351 if (identifier_node_source_node) {
4350- ERR_FAIL_COND_V_MSG (identifier_node_source_node->type != GDScriptParser::Node::SIGNAL, FAILED, " identifier_node_source_node is not of type SIGNAL" );
43514352 identifier_signal_node = static_cast <GDScriptParser::SignalNode *>(identifier_node_source_node);
4352- } else {
4353- ERR_FAIL_COND_V_MSG (identifier_node_owner->type != GDScriptParser::Node::SIGNAL, FAILED, " identifier_node_owner is not of type SIGNAL" );
4354- identifier_signal_node = static_cast <GDScriptParser::SignalNode *>(identifier_node_owner);
4355- }
4356- if (identifier_signal_node != source_node_signal_node) {
4357- if (identifier_signal_node->current_class ->fqcn != source_node_signal_node->current_class ->fqcn ) {
4358- continue ;
4359- }
4360- if (identifier_signal_node->start_line != source_node_signal_node->start_line || identifier_signal_node->start_column != source_node_signal_node->start_column || identifier_signal_node->end_line != source_node_signal_node->end_line || identifier_signal_node->end_column != source_node_signal_node->end_column ) {
4353+ } else if (identifier_node_owner) {
4354+ if (identifier_node_owner->type != GDScriptParser::Node::SIGNAL) {
43614355 continue ;
43624356 }
4357+ identifier_signal_node = static_cast <GDScriptParser::SignalNode *>(identifier_node_owner);
4358+ } else {
4359+ continue ;
4360+ }
4361+ GDScriptParser::ClassNode *identifier_signal_node_owner_class = static_cast <GDScriptParser::ClassNode *>(identifier_signal_node->owner );
4362+ GDScriptParser::ClassNode *source_node_owner_class = static_cast <GDScriptParser::ClassNode *>(source_node_signal_node->owner );
4363+ if (identifier_signal_node_owner_class->fqcn != source_node_owner_class->fqcn ) {
4364+ continue ;
43634365 }
43644366 _refactor_rename_symbol_add_match (p_path, identifier_node, r_result);
43654367 continue ;
0 commit comments